2012-11-15 12 views
5

मैं एक्सएमएल जो की तरह है:XDocument.Root.Element अशक्त रिटर्न

<?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") स्वागत के रूप में सही परिणाम देता है एल।

इसके साथ क्या गलत है?

उत्तर

11

<Name> तत्व mylink नाम स्थान में है:

XNamespace mylink = "mylink"; 

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

कि सिर्फ महान था! धन्यवाद =) मुझे दस्तावेज़ीकरण को और सावधानी से पढ़ना चाहिए =) – dmigo

+0

क्या होगा यदि यह कहता है: 'xmlns =" ​​"'? धन्यवाद –