XDocument.Root.Element 返回空值。

5

我有一个 XML 文件,格式如下:

<?xml version="1.0" encoding="utf-16"?>
<RootNodeName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns:xsd="http://www.w3.org/2001/XMLSchema" MyAttribute="7" xmlns="mylink">
  <IsValid>false</IsValid>
  <Name>some matrix</Name>
  ...Some more nodes...
</RootNodeName>

以及类似以下的代码:

var doc = XDocument.Parse(myXmlString);
Console.WriteLine(doc.Root.Element("Name"));

doc.Root.Element("Name")返回null时,控制台只显示一个空白区域。

但是,我可以在doc.Root.Elements()的结果中找到这个元素。同时,doc.Root.Attribute("MyAttribute")也给出了正确的结果。

这是什么问题呢?是我的问题吗?

1个回答

12

<Name> 元素属于 mylink 命名空间:

XNamespace mylink = "mylink";

Console.WriteLine(doc.Root.Element(mylink + "Name"));

太好了!谢谢 =) 我应该更仔细地阅读文档 =) - dmigo
如果它说:xmlns = "",那怎么办?谢谢。 - Mati Tucci

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接