Das Parsen von XML mit Namespace-Deklarationen kann mit LINQ to XML eine Herausforderung sein.
Betrachten Sie den folgenden XML-Code:
<code class="language-xml"><Response xmlns="http://myvalue.com"><Result xmlns:a="http://schemas.datacontract.org/2004/07/My.Namespace" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><a:TheBool>true</a:TheBool><a:TheId>1</a:TheId></Result></Response></code>
Um dieses XML zu analysieren, können wir den folgenden Code verwenden:
<code class="language-csharp">XDocument xmlElements = XDocument.Parse(theXml); XNamespace ns = "http://myvalue.com"; XNamespace nsa = "http://schemas.datacontract.org/2004/07/My.Namespace"; var elements = from data in xmlElements.Descendants(ns + "Result") select new { TheBool = (bool)data.Element(nsa + "TheBool"), TheId = (int)data.Element(nsa + "TheId"), };</code>
Beachten Sie die Verwendung von Descendants
innerhalb von ns
und Elements
innerhalb von nsa
. Diese Namespaces ermöglichen LINQ to XML-Methoden, die richtigen Elemente zu identifizieren.
Das obige ist der detaillierte Inhalt vonWie kann ich XML mit Namespaces mithilfe von LINQ to XML effektiv analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!