有沒有辦法從xml檔案中獲取所有屬性?XML 檔案:
<xml>
<level1>
<login Val=“true”><\login>
<inval>hello<\inval>
<\level1>
<level2 name=“Lara”>
<input place =“VKK”> teddy string <\input>
<\level2>
我正在尋找包含 Val true Name Lara Place VKK 的 xmlatributecollection
還可以使用 childelement.attributes 獲取子元素(上面的元素 <level2 )中的所有屬性嗎?當我這樣做時,它只會回傳:Name Lara
但我期待它回來:命名 Lara Place VKK
是否可以 ?請分享想法。謝謝
uj5u.com熱心網友回復:
為此,您可以使用 XDocument 類
using System.Xml.Linq
XDocument 類包含有效 XML 檔案所需的資訊,其中包括 XML 宣告、處理指令和注釋。
如果您需要 XDocument 類提供的特定功能,您只需創建 XDocument 物件。
var path="";//your xml file path
var xDocLoad = XDocument.Load(path);
var allAttributes = xDocLoad.Descendants()
.SelectMany(x => x.Attributes())
.ToDictionary(x => x.Name.LocalName, x => (string)x);
uj5u.com熱心網友回復:
首先,你的 xml 對我來說不合適,無論如何,讓我們假設它是這樣的:
string xml = @"
<xml>
<level1>
<login Val=""true""></login>
<inval>hello</inval>
</level1>
<level2 name=""Lara"">
<input place=""VKK""> teddy string </input>
</level2>
</xml>";
您可以獲得具有相應名稱和值的所有屬性,如下所示:
using System.Xml.Linq;
var doc = XDocument.Parse(xml);
var attributes = doc.Descendants()
.SelectMany(x => x.Attributes())
.ToDictionary(x => x.Name.LocalName, x => (string)x);
結果將是一個帶有值的字典:
| 鑰匙 | 價值 |
|---|---|
| 瓦爾 | 真的 |
| 姓名 | 勞拉 |
| 地方 | VKK |
DotNetFiddle 示例:https ://dotnetfiddle.net/zBbM3Y
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/376374.html
上一篇:如何將物件從動作轉換為視圖
下一篇:在C#中更新CSV的列值
