簡體   English   中英

使用C#從XML元素的所有實例獲取文本

[英]Get text from all instances of XML element using C#

我需要解析無法預測結構的XML文件。 我需要用以下標記的每個實例的內部文本填充字符串數組,無論它們在樹中的什么位置。

<SpecialCode>ABCD1234</SpecialCode>

有沒有簡單的方法可以使用C#完成此操作?

如果您的XML是字符串:

XDocument doc = XDocument.Parse("<SpecialCode>ABCD1234</SpecialCode>");
string[] specialCodes = doc.Descendants("SpecialCode").Select(n => n.Value).ToArray();

如果您的XML是文件:

XDocument doc = XDocument.Load("specialCodes.xml");
string[] specialCodes = doc.Descendants("SpecialCode").Select(n => n.Value).ToArray();

說明

XDocument是一個方便的類,可以輕松進行XML解析。 您需要在項目中添加對System.Xml.Linq程序集的引用才能使用它。

  • Descendents方法將獲取XML文檔的所有子級,這將照顧您未知的XML結構。
  • Select方法是LINQ方法,它使我們能夠從每個節點中選擇一個屬性,在這種情況下,是Value
  • ToArray將IEnumerable結果從Select()為所需的結果。
XmlDocument doc = new XmlDocument();

doc.Load(FILENAME);

// IN CASE OF STRING, USE FOLLOWING
//doc.LoadXml(XAML_STRING);

XmlNodeList list = doc.DocumentElement.SelectNodes("//SpecialCode");

// prefic將從xml中獲取所有SpecialCode標簽。

暫無
暫無

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

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