我在C#ASP.NET中解析XML文档.有没有我不知道的方法/功能来获得标签"课程"的所有元素?
XML的格式如下:
<a>
<g1>
<course></course>
<g9>
<course></course>
... more course elements
</g9>
<course></course>
<g2>
<g3>
<course></course>
...
</g3>
</g2>
</g1>
</a>
Run Code Online (Sandbox Code Playgroud)
当我执行以下代码时,我没有找到"课程"元素,是否有一个简单的函数可以一次性获取所有这些元素?
XmlDocument xdoc = new XmlDocument();
xdoc.Load("http://kjkjkj.com");
XmlNodeList list = xdoc.DocumentElement.SelectNodes("course");
// if I debug: list.count = 0 but if I look at xdoc.DocumentElement.outerXml
// its the correct XML so I did parse the file & get XML contents.
// Is there any C# equivalent of document.getElementsByTagName("course"); ???
Run Code Online (Sandbox Code Playgroud)
你很亲密:
XmlNodeList list = xdoc.DocumentElement.SelectNodes("//course");
Run Code Online (Sandbox Code Playgroud)
使用前缀//将获取命名文档中的所有节点course,无论它们在何处.
作为替代方案,您应该考虑使用Linq to Xml解析XML,它可以很好地与Linq集成到对象.有相同的语法
var courses = xdoc.Descendants("course");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3141 次 |
| 最近记录: |