簡體   English   中英

特定的.NET XML枚舉過程

[英]Specific .NET XML enumeration procedure

我在.NET中處理XML的方式有點不知所措。在我的情況下,我正在移植大量的C行,我想包裝我的代碼並保持它基本上我擁有它的方式(但當然要使用課程)。 我並不是在尋找最快的方式,而是或多或少與我以前的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類並保持類似外觀,或者我是否應該創建一個包裝器。 如果有人知道我的解決方案,請告訴我。 我真的很想找到讓我從他們的名字中找到對象的函數,然后能夠為結果做一個sorta(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總是有XmlDocument ,它是XML的DOM表示。 為了快速處理,您可以使用XmlReader

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM