首页 > 解决方案 > 在 C# 中使用“浮动”结构解析 XML 并填充列表框

问题描述

有一个具有以下结构的 XML 文件。

<books>
    <myonlystore>
        <book1>
            <author>Book1 author</author>
            <title>Book1 Title</title>
        </book1>
        <book2>
            <author>Book2 author</author>
            <title>Book2 Title</title>
        </book2>
        <book3>
            <author>Book3 author</author>
            <title>Book3 Title</title>
            <ISBN>12345</ISBN>
        </book3>
    </myonlystore>
</books>

尝试将 book1、book2 和 book3 放入列表框中,并在选择时显示各自的可用属性。但是对 XML 结构感到困惑。请告知如何正确阅读此文件。

谢谢

标签: c#.netxmlxml-parsing

解决方案


您可以像这样使用 XDocumnet:

var result = XDocument.Parse(xml).Root
    .Descendants().Where(n => n.Name.LocalName.StartsWith("book"))
    .Select(b => new
    {
        Author = (string) b.Element("author"),
        Title = (string) b.Element("title"),
        Isbn = (string) b.Element("ISBN")
    });

更新:

var result = XDocument.Parse(xml).Root.Element("myonlystore")
    .Elements()
    .Select(b => new
    {
        Author = (string) b.Element("author"),
        Title = (string) b.Element("title"),
        Isbn = (string) b.Element("ISBN")
    });

推荐阅读