gpt4 book ai didi

c# - 解析 XML 文件并创建其内容列表

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

我正在尝试读取 XML 文件并解析其内容,但我无法从文件中提取参数。

我尝试解析的 XML 文件如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
<register_map>
<Register ID="1" Index="0x100000" DataType="0x0007" ObjectType="0x07" Name="Device Type"/>
<Register ID="2" Index="0x100100" DataType="0x0005" ObjectType="0x07" Name="Error Register"/>
</register_map>
</root>

到目前为止我的代码是这样的

namespace Test_XML
{
class Program
{
struct RegisterEntry
{
public UInt32 index;
public UInt16 dataType;
public UInt16 objectType;
public string name;
};

static void Main(string[] args)
{

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

var registers = doc.Descendants("register_map");

foreach (var register in registers)
{
// Fill up a list of RegisterEntrys with contents of XML
}
Console.ReadLine();
}
}
}

如何从“寄存器”中提取参数并将它们放入 RegisterEntry 对象中?

最佳答案

你可以使用

var registers = doc.XPathSelectElements("/root/register_map/Register");

它将为您提供 Register 节点的集合,因此您将能够访问它们的属性并填充您的 RegisterEntry 对象,例如:

foreach (var register in registers)
{
var dataType = register.Attribute("DataType").Value;
//the rest of the code
}

注意 XPathSelectElementsSystem.Xml.XPath 命名空间中的扩展方法。确保您已引用 System.Xml.Linq 程序集以便使用它。

关于c# - 解析 XML 文件并创建其内容列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34927521/

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