【发布时间】:2018-08-02 10:08:52
【问题描述】:
我正在尝试访问给定 xml 中第一级的元素。我正在使用下面的代码来访问它,但它首先给了我一个嵌套的代码。
var xml = "<grading>" +
"<leap>" +
"<controlId>1</controlId>" +
"</leap>" +
"<controlId>2</controlId>" +
"</grading>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
var node = doc.DocumentElement.SelectSingleNode("//controlId").InnerText;
当我试图访问根节点内的值 2 时,它给了我值 1。我们有什么可以访问它的吗?
【问题讨论】:
-
该代码给了我一个 NullReferenceException 代替(由于使用
/)...如果您提供演示实际问题的代码会有所帮助。不过,我会支持使用 LINQ to XML 的建议。 -
您是否必须(想要)使用 XmlDocument 和 XPath?使用 XDocument 会容易得多。
-
我已经更新了代码。现在它不会报错
-
对,现在你已经使用了
//,意思是“找到第一个后代”。如果您只使用SelectSingleNode("controlId"),它会起作用,尽管我绝对推荐使用 LINQ to XML。
标签: c# xml xmldocument