Lets haben wir diese xml annehmen:Gibt es eine Möglichkeit, Elemente unter Verwendung nur lokaler Namen in einer Linq-zu-XML-Abfrage abzurufen?
<?xml version="1.0" encoding="UTF-8"?>
<tns:RegistryResponse status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure"
xmlns:tns="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
<tns:RegistryErrorList highestSeverity="">
<tns:RegistryError codeContext="XDSInvalidRequest - DcoumentId is not unique."
errorCode="XDSInvalidRequest"
severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error"/>
</tns:RegistryErrorList>
</tns:RegistryResponse>
RegistryErrorList Element abzurufen, wir
XDocument doc = XDocument.Load(<path to xml file>);
XNamespace ns = "urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0";
XElement errorList = doc.Root.Elements(ns + "RegistryErrorList").SingleOrDefault();
tun können, aber nicht dieses
XElement errorList = doc.Root.Elements("RegistryErrorList").SingleOrDefault();
mögen Gibt es eine Möglichkeit, die Abfrage zu tun ohne den Namensraum des Elements. Basicly gibt es etwas conceptially similiar local-Namen zu verwenden() in XPath (dh // * [local-name() = 'RegistryErrorList'])