解析XML并提取节点

时间:2014-12-23 13:42:04

标签: c# xml

我有以下XML:

<bookstore>
    <book genre='autobiography' publicationdate='1981-03-22' ISBN='1-861003-11-0'>
        <title>The Autobiography of Benjamin Franklin</title>
        <author>
            <first-name>Benjamin</first-name>
            <last-name>Franklin</last-name>
        </author>
        <price>8.99</price>
    </book>
</bookstore>

我想阅读它并显示结果如下:

Genre: autobiography
Publication: 1981-03-22
ISBN: 1-861003-11-0
Title: The Autobiography of Benjamin Franklin
Author: Benjamin Franklin
Price: 8.99

1 个答案:

答案 0 :(得分:1)

这里有一些使用XElement执行此操作的示例代码:

    var xml = XElement.Load("test.xml");

    foreach (var bookEl in xml.Elements("book"))
    {
        Console.WriteLine("Genre: " + bookEl.Attribute("genre").Value
            + " " + "Publication: " + bookEl.Attribute("publicationdate").Value
            + " " + "ISBN: " + bookEl.Attribute("ISBN").Value);
        Console.WriteLine("Title: " + bookEl.Element("title").Value);
        Console.WriteLine("Author: " + bookEl.Element("author").Element("first-name").Value 
            + " " + bookEl.Element("author").Element("last-name").Value);
        Console.WriteLine("Price: " + bookEl.Element("price").Value);
    }