如何用js读取WebService返回的XML结果!

aqqzy 2005-10-18 05:14:40
利用js调用WebService,返回类型是DataSet,可返回的形式是XML的格式。
我想在js中取得返回的结果。可总是错误,请大家帮帮忙!

返回的XML如下:

<?xml version="1.0" encoding="utf-8" ?>
- <DataSet xmlns="http://localhost/WebApp/">
- <xs:schema id="ChatList" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xs:element name="ChatList" msdata:IsDataSet="true" msdata:Locale="zh-CN">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="List">
- <xs:complexType>
- <xs:sequence>
<xs:element name="PostName" type="xs:string" minOccurs="0" />
<xs:element name="PostTime" type="xs:string" minOccurs="0" />
<xs:element name="PostBody" type="xs:string" minOccurs="0" />
<xs:element name="Flag" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">

- <ChatList xmlns="">
- <List diffgr:id="List1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
<PostName>200510309952</PostName>
<PostTime>2005年10月18日 17:03:50</PostTime>
<PostBody>111</PostBody>
<Flag>0</Flag>
</List>
- <List diffgr:id="List2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
<PostName>200510309952</PostName>
<PostTime>2005年10月18日 17:03:51</PostTime>
<PostBody>222</PostBody>
<Flag>0</Flag>
</List>
- <List diffgr:id="List3" msdata:rowOrder="2" diffgr:hasChanges="inserted">
<PostName>200510309952</PostName>
<PostTime>2005年10月18日 17:03:52</PostTime>
<PostBody>333</PostBody>
<Flag>0</Flag>
</List>
</ChatList>

</diffgr:diffgram>
</DataSet>

我现在只想取得ChatList之间PostName,PostTime,PostBody,Flag的这部分,该怎么做。

我的代码是这么写的,总是出错。

var xmlResult = event.result.raw.xml;
if(xmlResult != "" && xmlr != null)
{
var xmlDoc = new ActiveXObject("MSXML2.DOMDocument.3.0");
xmlDoc.async=false;
xmlDoc.validateOnParse=false;
xmlDoc.load(xmlResult);
for (var i = 0;i < xmlDoc.getElementsByTagName("List").length;i ++)
{
if(xmlDoc.getElementsByTagName("List").item(i).childNodes(3).text == IPU)
{
MSG.innerHTML += "<font color=red>" + xmlDoc.getElementsByTagName("List").item(i).childNodes(0).text + " "
+ xmlDoc.getElementsByTagName("List").item(i).childNodes(1).text + "</font><br>"
+ xmlDoc.getElementsByTagName("List").item(i).childNodes(2).text + "<br>";
}
}
}


大家帮我看看,应该怎么读取!

...全文
786 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjyong0123 2005-11-16
  • 打赏
  • 举报
回复
要用js去访问webservice的话,要让webservice返回xml类型的数据,这样可以在客户端通过MSXML2.DOMDocument对象读取,如果是dataset类型的数据也可以读取,不过你要先看一下返回数据的格式了,比较麻烦
shalen520 2005-11-16
  • 打赏
  • 举报
回复
catch一下,把错误信息打出来看看是什么错
likeful 2005-11-15
  • 打赏
  • 举报
回复
听说webservice返回xml类型的数据比较利于跨平台!!可是哪里有这方面的资料??
likeful 2005-11-15
  • 打赏
  • 举报
回复
我也是这样的,webservice返回dataset,怎么用javascript读取其中的数据啊????
高手都哪去了?
aqqzy 2005-10-20
  • 打赏
  • 举报
回复
没有人回复让我如何结贴!
shilei831115 2005-10-20
  • 打赏
  • 举报
回复
替你报不平
goodhy 2005-10-20
  • 打赏
  • 举报
回复
希望对你有帮助 http://blog.csdn.net/goodhy/archive/2004/11/28/196921.aspx
aqqzy 2005-10-19
  • 打赏
  • 举报
回复
没有人愿意帮忙吗?

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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