gpt4 book ai didi

c# - 特定的 .NET XML 枚举过程

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

在 .NET 中处理 XML 的方法有那么多,我有点不知所措。在我的例子中,我移植了大量的 C 代码行,我想包装我的代码并保持基本的方式我有它(但当然要使用类(class))。我并不是在寻找最快的方法,而是或多或少与我之前使用的 API 一致的方法。

我的具体API是这样的:(这是C代码)

XML* xml = XML_Load("file.xml");
XML_OBJECT* obj;

XML_FindObjectByTagName(xml->pstFirstObject, "objectname", &obj);

/* Go through objects at that level */
for (obj = obj; obj != null; obj = obj->pstNext)
{
char* s = XML_ReadAttribute_String(obj, "attribname");

/* This is how I use my current API, and I would like to sorta keep it similar */
}

所以,我不确定我是否可以使用其中一个 .NET 类并保持它的外观相似,或者我是否应该制作一个包装器。如果有人知道对我来说好的解决方案,请告诉我。我真的很想找到让我从他们的名字中找到对象的功能,然后能够对结果进行排序(foreach)。谢谢!

最佳答案

我发现 LINQ to XML 是 .NET 中适用于大多数任务的最佳 XML API。

要查找具有特定名称的所有后代元素,您将使用:

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

foreach (XElement element in doc.Descendants("objectname"))
{
string s = (string) element.Attribute("attribname");
// ...
}

关于c# - 特定的 .NET XML 枚举过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3746594/

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