asp 读取元素名字同样,属性值也一样的节点

asp 读取元素名字一样,属性值也一样的节点
本帖最后由 qq_19862891 于 2014-08-23 00:42:00 编辑
book.xml
------------------------------------------------------------------------
<?xml version="1.0" encoding="gb2312"?>
<Results>
<article>
<Id>6678417</Id>
<sort Name="PubDate" Type="Date">1983</sort>
<sort Name="EPubDate" Type="Date"></sort>
<sort Name="authorlist" >
<sort Name="author" >name1</sort>
<sort Name="author" >name2</sort>
<sort Name="author" >name3</sort>
<sort Name="authorlist" ></sort>
</sort>
</article>
</Results>

元素名字一样,属性值也一样的节点如何分别读取数据。如上面的三个作者名字


希望输出结果是:
id=6678417
PubDate=1983
EPubDate=
authorlist:
author1=name1
author2=name2
author2=name3

上一相关贴地址
http://bbs.csdn.net/topics/390868844
------解决方案--------------------
方法类似,你先找到article,然后再SelectNodes 找到全部子节点,方法类似。

set xmldoc=server.CreateObject("Microsoft.XMLDOM")
xmldoc.async = false
fileStr = Server.MapPath("book.xml")
xmldoc.load(fileStr)

set Article = xmldoc.selectSingleNode("/Results/article")
 
Response.Write "<li>id=" & Article.selectSingleNode("Id").text
Response.Write "<li>PubDate=" & Article.selectSingleNode("sort[@Name='PubDate']").text
Response.Write "<li>EPubDate=" & Article.selectSingleNode("sort[@Name='EPubDate']").text

Set authorlist = Article.selectSingleNode("sort[@Name='authorlist']").selectNodes("sort[@Name='author']")
For Each author in authorlist
Response.Write "<li>author=" & author.text
Next