从 xml 文件中获取所有属性 c#
Get all attributes from the xml file c#
有没有办法从 xml 文件中获取所有属性?
XML 文件:
<xml>
<level1>
<login Val=“true”><\login>
<inval>hello<\inval>
<\level1>
<level2 name=“Lara”>
<input place =“VKK”> teddy string <\input>
<\level2>
我正在寻找 xmlatributecollection 其中包含
真值
姓名劳拉
地点 VKK
也可以使用获取子元素(元素
但我期待 return:
姓名劳拉
地点 VKK
可能吗?请分享想法。谢谢
您可以使用 XDocument class 来达到这个目的
using System.Xml.Linq
XDocument class 包含有效 XML 文档所需的信息,其中包括 XML 声明、处理说明和注释。
如果您需要 XDocument 提供的特定功能,您只需创建 XDocument 对象 class。
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);
首先,我觉得你的 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);
结果将是一个包含以下值的字典:
Key
Value
Val
true
name
Lara
place
VKK
DotNetFiddle 示例:https://dotnetfiddle.net/zBbM3Y
有没有办法从 xml 文件中获取所有属性? XML 文件:
<xml>
<level1>
<login Val=“true”><\login>
<inval>hello<\inval>
<\level1>
<level2 name=“Lara”>
<input place =“VKK”> teddy string <\input>
<\level2>
我正在寻找 xmlatributecollection 其中包含 真值 姓名劳拉 地点 VKK
也可以使用获取子元素(元素 但我期待 return:
姓名劳拉
地点 VKK 可能吗?请分享想法。谢谢
您可以使用 XDocument class 来达到这个目的
using System.Xml.Linq
XDocument class 包含有效 XML 文档所需的信息,其中包括 XML 声明、处理说明和注释。
如果您需要 XDocument 提供的特定功能,您只需创建 XDocument 对象 class。
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);
首先,我觉得你的 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);
结果将是一个包含以下值的字典:
Key | Value |
---|---|
Val | true |
name | Lara |
place | VKK |
DotNetFiddle 示例:https://dotnetfiddle.net/zBbM3Y