dmigo
dmigo

Reputation: 3029

XDocument.Root.Element returns null

I have XML which is like:

<?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>

and code which is like:

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

and console shows just an empty space since doc.Root.Element("Name") returns null =(

While I can find this Element among doc.Root.Elements() results. doc.Root.Attribute("MyAttribute") gives correct result as well.

What is wrong with it/me?

Upvotes: 5

Views: 6739

Answers (1)

dtb
dtb

Reputation: 217233

The <Name> element is in the mylink namespace:

XNamespace mylink = "mylink";

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

Upvotes: 12

Related Questions