这是我正在加载的XML文件:
<?xml version="1.0"?>
<Table xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<child1>
<child2></child2>
</child1>
</Table>
我正在尝试获取元素<child2>
。
我正在使用以下代码:
var xroot = XElement.Load(filename);
var el = xroot.Element("Table");
第二行始终返回null
。
答案 0 :(得分:1)
您不需要第var el = xroot.Element("Table");
行。
var xroot
包含<Table>
元素(因为这是XML文档的根元素)。
根据您的评论,此代码适用于我:
var xroot = XElement.Load(filename);
var el = xroot.Element("child1").Element("child2");
或者,为了获得所有&#34; child2&#34;文档中的节点:
var xroot = XElement.Load(filename);
var el = xroot.Element("child1").Element("child2");
foreach (XElement child2 in xroot.Descendants("child2"))
{
...
}
答案 1 :(得分:1)
var xmlDoc = new XmlDocument();
xmlDoc.Load('yourXmlFile'); // or xmlDoc.LoadXml('your xml');
var mainXmlNode = xmlDoc.DocumentElement; // this now holds information about your 'table' node
答案 2 :(得分:0)
好的,我在你的例子中看到1个空元素(表),其中包含2个属性,对吗?
似乎是正确的,第一个(也是唯一的元素)“Table”为空,没有文本内容。