![](/img/trans.png)
[英]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.