Maison >développement back-end >C++ >Comment puis-je analyser efficacement du XML avec des espaces de noms à l'aide de LINQ to XML ?
L'analyse XML contenant des déclarations d'espace de noms peut s'avérer difficile avec LINQ to XML.
Considérez le code XML suivant :
<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>
Pour analyser ce XML nous pouvons utiliser le code suivant :
<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>
Notez l'utilisation de Descendants
dans ns
et de Elements
dans nsa
. Ces espaces de noms permettent aux méthodes LINQ to XML d'identifier les éléments corrects.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!