[英]How to read root attribute by XPath in c#
XML是
<?xml version="1.0" encoding="utf-8"?>
<Stock Date="13.11.2013 11:14:13">
<Assortment>
<ID>1</ID>
<Item>NNNNNNNNNNNN</Item>
<Quantity>12</Quantity>
</Assortment>
</Stock>
我的代码是
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load(LocalPath);
dat = doc.SelectSingleNode("//Stock/@Date").Value;
如何在XPath中读取Stock的Date属性?
尝试以下代码段
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load(LocalPath);
var dat = doc.SelectSingleNode("/Stock/@Date");
由于您需要root元素,因此我不会使用XPath。 XPath用于查找某些内容,而无需知道其在XML树(DOM)中的位置。 您可以尝试这样的事情。
// Load the document and set the root element.
XmlDocument doc = new XmlDocument();
doc.Load(LocalPath);
XmlNode rootNode = doc.DocumentElement;
var dat = rootNode.Attributes["Date"].Value;
对于XML DOM解析,然后使用XPath,您可能会看到此信息 。
希望我能帮上忙!
看看linkToXml(Systme.xml.linq),它是解析xml的非常不错的简洁方法,这是上述方法的替代方案
var doc = XDocument.Load("XMLFile1.xml");
doc.Root.Attributes().ToList().ForEach(a => Console.WriteLine(a));
doc.Root.Descendants().Where(d => d.Name.LocalName == "Item").ToList().ForEach(a => Console.WriteLine(a));
输出:Date =“ 13.11.2013 11:14:13” NNNNNNNNNNNN
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.