gpt4 book ai didi

c# - 像使用 C# 的 python 的 lxml 一样读取 XML 文件?

转载 作者:数据小太阳 更新时间:2023-10-29 02:27:58 26 4
gpt4 key购买 nike

  <Connections>
<Connection ID = "1" Source="1:0" Sink="4:0"/>
<Connection ID = "2" Source="2:0" Sink="4:1"/>
<Connection ID = "3" Source="2:0" Sink="5:0"/>
<Connection ID = "4" Source="3:0" Sink="5:1"/>
<Connection ID = "5" Source="4:0" Sink="6:0"/>
<Connection ID = "6" Source="5:0" Sink="7:0"/>
</Connections>

当我需要从之前的XML代码中获取信息时,Python的lxml可以如下使用。

def getNodeList(self):
connection = self.doc.find('Connections')
cons = connection.find('Connection')

for con in cons.iter():
con.get("ID") # get attribute
...
  • 我可以使用哪些 C# 库/函数来获取 python 的 lxml 等信息?我的意思是,我可以在 C# 中使用 find()/iter() 或类似工具吗?
  • 哪些 C# 库与 python 的 lxml 相似?

已添加

根据dtb的回答,我可以得到我需要的。

using System;
using System.Xml;
using System.Xml.Linq;

namespace HIR {
class Dummy {

static void Main(String[] argv) {

XDocument doc = XDocument.Load("test2.xml");

var connection = doc.Descendants("Connections"); // .First();
var cons = connection.Elements("Connection");

foreach (var con in cons)
{
var id = (string)con.Attribute("ID");
Console.WriteLine(id);
}
}
}
}

我必须删除“First()”以避免编译器错误。使用单声道,我可以运行以下命令来获取二进制文件。

dmcs /r:System.Xml.Linq main.cs

最佳答案

您想使用 LINQ-to-XML :

void GetNodeList()
{
var connection = this.doc.Descendants("Connections").First();
var cons = connection.Elements("Connection");

foreach (var con in cons)
{
var id = (string)con.Attribute("ID");
}
}

关于c# - 像使用 C# 的 python 的 lxml 一样读取 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4087847/

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