我在字符串中有以下 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/

10-15 04:14