高分灭火!快来快来!!

symbol_bc 2008-07-28 01:55:54
我在服务器端用web service从数据库中读出一个dataset,然后把它变成xml格式。dts.getXml()作为字符串返回。
如下:
<NewDataSet>
<Table>
<id>1 </id>
<lat>40.1 </lat>
<lng>116.1 </lng>
<detail>aaaaaaa </detail>
</Table>
<Table>
<id>1 </id>
<lat>39.2 </lat>
<lng>116.2 </lng>
<detail>aaaaaaa </detail>
</Table>
<Table>
<id>1 </id>
<lat>39.3 </lat>
<lng>116.3 </lng>
<detail>aaaaaaa </detail>
</Table>
</NewDataSet>

我在客户端用request.responseXML将他读出来,其中的“ <”和“>”全部被< >给代替了。还加了一个 <?xml version=1.0> encoding="utf-8">
<string xmlns="http://localhost/newwebsite">... ...
... ...
</string>
这个东西。中间的省略号就是那些数据。这样的话我用getElementsByTagName("string")还能得到,但是下一级就得不到了。因为尖括号都被代替了。我用replace(/</g," <").replace(/>/g,">")代替后就不能用
getElementsByTagName("string")这个方法了。
我该怎么办?怎样解析我的数据呢?

急急急!!!
...全文
147 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
mykees 2008-07-28
  • 打赏
  • 举报
回复
不知道什么意思!
zhnzzy 2008-07-28
  • 打赏
  • 举报
回复
例如

<?xml version="1.0" encoding="utf-8" ?>
<PEOPLE xmlns="http://tempuri.org/people.xsd">
<PERSON>Tom</PERSON>
<PERSON>Fred</PERSON>
</PEOPLE>



XmlDocument doc = new XmlDocument();
ArrayList NodeValues = new ArrayList();
// 把people.xml文件读入内存,形成一个DOM结构
doc.Load( Server.MapPath("people.xml") );
XmlNode root = doc.DocumentElement;
foreach( XmlNode personElement in root.ChildNodes )
NodeValues.Add(personElement.FirstChild.Value);



chocolee 2008-07-28
  • 打赏
  • 举报
回复
把数据放在<![CDATA[ ... ...]]>里
zhnzzy 2008-07-28
  • 打赏
  • 举报
回复
不要用这种getElementsByTagName
用XML的文法去解析它,比如XmlNode
rudolf1982 2008-07-28
  • 打赏
  • 举报
回复
你把你传值得代码写出来
rudolf1982 2008-07-28
  • 打赏
  • 举报
回复
你把你传值得代码写出来
symbol_bc 2008-07-28
  • 打赏
  • 举报
回复
好像还是不行
symbol_bc 2008-07-28
  • 打赏
  • 举报
回复
我还在等待
rudolf1982 2008-07-28
  • 打赏
  • 举报
回复
是编码问题你把dts.getXml()作为url的参数传递了把
这样的话在传递前做个编码把
如果客户端的ie用的是utf-8的编码的话
HttpUtility.UrlEncode(dts.getXml(),Encoding.UTF8);
简体体中文的话
HttpUtility.UrlEncode(dts.getXml(),Encoding.GetEncoding("GB2312"));
其他的类似
symbol_bc 2008-07-28
  • 打赏
  • 举报
回复
是这样:我本来就是从数据库中读出来的数据,然后把它转化成了xml格式的
symbol_bc 2008-07-28
  • 打赏
  • 举报
回复
谁能告诉我怎么做呢?
按照 <![CDATA[ ... ...]]>这种做法。还是不行,我是应该在 web service中这样做吗?
dts = new DataSet();
dtb = new DataTable();
cmd.CommandText = string.Format(sqlStr);
dad = new SqlDataAdapter(cmd);
dad.Fill(dts);
html = "<![CDATA[" + dts.GetXml() + "]]>";
这样不行啊!客户端得到的还是一串那种符号
紫气东来_999 2008-07-28
  • 打赏
  • 举报
回复
解析XML 么?

你把xml变成DATASET下TABLE取数据多方便。。


给你个函数


#region 转换XML为DATASET
/// <summary>
/// 转换XML为DATASET
/// </summary>
/// <param name="xmlData"></param>
/// <returns></returns>
private DataSet ConvertXMLToDataSet(string xmlData)
{
StringReader stream = null;
XmlTextReader reader = null;
try
{
DataSet xmlDS = new DataSet();
stream = new StringReader(xmlData);
reader = new XmlTextReader(stream);
xmlDS.ReadXml(reader);
return xmlDS;
}
catch (Exception ex)
{
string strTest = ex.Message;
return null;
}
finally
{
if (reader != null)
reader.Close();
}


}
#endregion
symbol_bc 2008-07-28
  • 打赏
  • 举报
回复
谁能说清楚吗
wszhoho 2008-07-28
  • 打赏
  • 举报
回复
unescape
whycom 2008-07-28
  • 打赏
  • 举报
回复
htmldecode
htmlencode
yigeming 2008-07-28
  • 打赏
  • 举报
回复
up
YiCaoYiMu08 2008-07-28
  • 打赏
  • 举报
回复
返回字符串的时候设定格式了么 ?
设成 Xml 格式了么
symbol_bc 2008-07-28
  • 打赏
  • 举报
回复
高手大哥!!你在说什么????不能多说几个字吗?
symbol_bc 2008-07-28
  • 打赏
  • 举报
回复
diandian82 2008-07-28
  • 打赏
  • 举报
回复
mark
加载更多回复(1)

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧