2012-11-15 16 views
5

Mam XML, który jest podobny:XDocument.Root.Element zwraca null

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

i kod wich jest jak:

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

i konsola pokazuje tylko pusta przestrzeń, ponieważ doc.Root.Element("Name") zwrotów null = (

Chociaż mogę znaleźć ten element wśród doc.Root.Elements() wyników. doc.Root.Attribute("MyAttribute") daje prawidłowy wynik jako wel l.

Co jest nie tak z tym/mną?

Odpowiedz

11

Element <Name> jest w przestrzeni nazw mylink:

XNamespace mylink = "mylink"; 

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

To było po prostu wspaniałe! Thanks =) Powinienem uważniej czytać dokumentację =) – dmigo

+0

Co jeśli mówi: 'xmlns =" ​​"? Dzięki –

Powiązane problemy