Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 229
dmigo Avatar asked Nov 15 '12 17:11

dmigo


1 Answers

The <Name> element is in the mylink namespace:

XNamespace mylink = "mylink";

Console.WriteLine(doc.Root.Element(mylink + "Name"));
like image 130
dtb Avatar answered Sep 29 '22 21:09

dtb