gpt4 book ai didi

c# - 将 XML 文件的数据转换为字符串列表 C#

转载 作者:太空宇宙 更新时间:2023-11-03 17:16:56 25 4
gpt4 key购买 nike

这是 XML 文件的样子:

<data>
<subdata>
<datatype id="1" name="data1">
<xdim>2</xdim>
<ydim>1</ydim>
</datatype>
<datatype id="2" name="data2">
<xdim>3</xdim>
<ydim>4</ydim>
</datatype>
</subdata>
</data>

现在,我想要以下内容:

  • 所有数据类型 ID 的列表(字符串),如上面预览中的“1”和“2”
  • 包含所有 < xdim > 内容的列表(字符串),例如上面的“2”和“3”
  • 包含所有 < ydim > 内容的列表(字符串),例如上面的“1”和“4”

C# 中是否有内置的简单方法来处理此类问题?或者有人可以帮我解决这个问题吗?

  • 乔纳斯

最佳答案

您可以使用 Descendents 方法。
此方法读取所有子节点,甚至是节点名称与指定字符串匹配的嵌套节点。

  var Idstring = MyXml.Descendants("datatype").Select (x=>x.Attribute("Id")).ToList();

var xdimstring = MyXml.Descendants("xdim").Select (x=>x.Value).ToList();

var ydimstring = MyXml.Descendants("ydim").Select (x=>x.Value).ToList();

满足你的好奇心:)这就是您如何从特定的子数据节点获取节点。

var Idstring = MyXml.Descendants("Subdata").Descendants("datatype").Select (x=>x.Attribute("Id")).ToList();

var xdimstring = MyXml.Descendants("Subdata").Descendants("xdim").Select (x=>x.Value).ToList();

var ydimstring = MyXml.Descendants("Subdata").Descendants("ydim").Select (x=>x.Value).ToList();

现在假设您有多个子数据并且您只想从第一个读取节点...只需使用第一个 linq 扩展方法

var Idstring = MyXml.Descendants("Subdata").First().Descendants("datatype").Select (x=>x.Attribute("Id")).ToList();

关于c# - 将 XML 文件的数据转换为字符串列表 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35919091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com