问题描述
文档结构为:<?xmlversion="1.0"encoding="utf-8"?><a><aa><aaa><x>x内容</x><y>y内容</y><z>z内容</z></aaa><aaa><x>x内容</x><y>y内容</y><z>z内容</z></aaa><aaa><x>x内容</x><y>y内容</y><z>z内容</z></aaa><aaa><x>x内容</x><y>y内容</y><z>z内容</z></aaa>.....</aa></a>如果我要循环读出各个aaa结点下的内容x,y,z,我该怎么做啊?我已经想了两天了!我是一个asp.net方面的新手,对.net不熟悉,求各位大侠了.我先说一下我的思路:一:先找到aa结点二:循环读取aaa结点的内容.三:每次读取aaa时又分别读取x,y,z结点.但是我使用xmldocument或者xmltextreader建立对象都操作不了啊。
解决方案
解决方案二:
protectedvoidPage_Load(objectsender,EventArgse){XmlDocumentdoc=newXmlDocument();doc.Load(Server.MapPath("demo.xml"));XmlNodeListnodes=doc.SelectNodes("//aaa");foreach(XmlNodenodeinnodes){Response.Write(node["x"].InnerText+"<br>");Response.Write(node["y"].InnerText+"<br>");Response.Write(node["z"].InnerText+"<br>");}}
解决方案三:
顶一下
解决方案四:
谢谢老大们,我试一下一楼老大的看看,如果有好的思路的话,也希望各位老大分享一下.
解决方案五:
一楼朋友,我已经成功操作了,再想问问XmlNodeListnodes=doc.SelectNodes("//aaa");这个语句的//是表示二级结点吗?如果要读取三级点呢?
解决方案六:
不只表示二级,三级也可查到XmlNodeListnodes=doc.SelectNodes("//x");
解决方案七:
用的着这么麻烦啊.用XmlDataSource控件就可以了数据源中的Xpath为:/aa/aaa显示数据的地方Xpath为:<%#XPath("x")%>:<%#XPath("y")%>:<%#XPath("z")%>注:显示数据的地方一般放在一个DataList中,这样数据就可以全部显示出来了如果还有了解的地方联系我:fanrongrt@tom.com
解决方案八:
楼主需要多了解XPath的知识以及XPathNavigator类。
解决方案九:
多谢各位指点,小弟会多努力学习这方面的知识的.