我在字符串中有以下 XML:
<RootElement>
<Data>
<Row>
<Id>1</Id>
<Name>Foo</Name>
</Row>
<Row>
<Id>2</Id>
<Name>Bar</Name>
</Row>
</Data>
</RootElement>
以及以下类(class):
public class BusinessObject
{
public int Id { get; set; }
public string Name { get; set; }
}
如何使用 XPath 将 Row 元素中的所有数据解析为 IList?
我需要学习这个来训练。
感谢您的回答。
最佳答案
IEnumerable<BusinessObject> ParseWithXPath(string xml)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
foreach (XmlNode node in doc.DocumentElement.SelectNodes("Data/Row")) // XPath query
{
yield return new BusinessObject
{
Id = Int32.Parse(node.SelectSingleNode("Id").InnerText),
Name = node.SelectSingleNode("Name").InnerText
};
}
}
用法:
IEnumerable<BusinessObject> seq = ParseWithXPath(xml); // .NET 2.0+
IList<BusinessObject> list = new List<BusinessObject>(seq); // .NET 2.0+
关于c# - 如何在 C# 中使用 XPath 将 XML 解析为 IList<BusinessObject>?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6570762/