[英]How to get all the child element name along with their parent element name from XML using C#?
[英]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.