linq to xml:XML數據處理的強大方法
我們的目標是以層次格式輸出此數據:
<code class="language-xml"><root><level1 name="A"><level2 name="A1"></level2><level2 name="A2"></level2></level1><level1 name="B"><level2 name="B1"></level2><level2 name="B2"></level2></level1><level1 name="C"></level1></root></code>
用Linq解析至XML
<code>A A1 A2 B B1 B2 C</code>
我們首先使用加載XML。 然後,linq查詢選擇> nodes及其“名稱”屬性:
>XDocument.Load()
>訪問嵌套級別2節點level1
<code class="language-csharp">XDocument xdoc = XDocument.Load("data.xml"); var level1Nodes = from level1 in xdoc.Descendants("level1") select level1.Attribute("name").Value;</code>
>迭代)內,第二個LINQ查詢過濾器節點基於其父級的“名稱”屬性:
level2
完成C#代碼level1Nodes
level2
<code class="language-csharp">foreach (var level1 in level1Nodes) { Console.WriteLine(level1); var level2Nodes = from level2 in xdoc.Descendants("level2") where level2.Parent.Attribute("name").Value == level1 select level2.Attribute("name").Value; foreach (var level2 in level2Nodes) { Console.WriteLine(" " + level2); } }</code>
這證明了LINQ對XML的功能和效率,用於解析和格式化複雜的XML結構。
以上是Linq到XML如何有效解析和格式嵌套XML數據?的詳細內容。更多資訊請關注PHP中文網其他相關文章!