Menghuraikan XML yang mengandungi pengisytiharan ruang nama boleh mencabar menggunakan LINQ kepada XML.
Pertimbangkan kod XML berikut:
<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>
Untuk menghuraikan XML ini kita boleh menggunakan kod berikut:
<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>
Perhatikan penggunaan Descendants
dalam ns
dan Elements
dalam nsa
. Ruang nama ini membolehkan kaedah LINQ ke XML untuk mengenal pasti elemen yang betul.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghuraikan XML dengan Ruang Nama Dengan Berkesan Menggunakan LINQ ke XML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!