如何使用经典的asp通过不同的数据排序xml?

时间:2009-12-21 17:36:00

标签: xml xpath asp-classic vbscript

这是我的xml

<XMLResponse>
<Product>
<Items>
<ID>AA</ID>
</Items>
<Items>
<ID>BB</ID>
</Items>
<Items>
<ID>CC</ID>
</Items>
<Items>
<ID>AA</ID>
</Items>
<Items>
<ID>AA</ID>
</Items>
<Items>
<ID>BB</ID>
</Items>
</Product>
</XMLResponse>

这是我在经典asp中使用的代码

<%
Response.ContentType = "text/plain; charset=UTF-8"  

Dim xd3   
Set xd3 = Server.CreateObject("Msxml2.DOMDocument.3.0")   
xd3.async = False  
xd3.load(Server.MapPath("01.xml"))
For Each item In xd3.selectNodes("/XMLResponse/Product/Items[not(/ID=preceding-sibling:Product/Items/ID)]/ID")
response.write item.getElementsByTagName("items").item(0).getElementsByTagName("ID").item(0).text
next
%>

但是关于asp代码不能正常工作

我需要具有不同ID

的输出

ID:AA ID:BB ID:CC

1 个答案:

答案 0 :(得分:1)

我发现很难让选择节点的路径恰到好处...您可以使用输出路径的xml资源管理器(很好的xml资源管理器xmlexplorer.codeplex.com/)然后您可能会考虑的其他事情是遍历树

    Set entitys = xmlDOM.getElementsByTagName("items")
for i = 0 to entitys.length - 1
%><%=entitys(i).text%><%=entitys(i).getAttribute("source")%>
<%
next

将拉出节点的文本或任何属性(看起来你还没有)

还会查看MSDN XML DOM msdn.microsoft.com/en-us/library/ms757828(VS.85).aspx,了解如何获得第一个孩子或列举孩子

我不知道它是不是要问,但我只是开始并需要点,所以我可以添加链接:)希望我帮助...