使用 Elements of Element 进行 XML 解析



>我有一个这样的xml文件:

<plist version="1.0">
<array>
    <dict>
        <key>Title</key>
        <string>Chapters</string>
        <key>Items</key>
        <array>
            <dict>
                <key>Title</key>
                <string>XYZ</string>
            </dict>
            <dict>
                <key>Title</key>
                <string>ABC</string>
            </dict>
              </array>
    </dict>
    <dict>
        <key>Title</key>
        <string>ChaptersONE</string>
        <key>Items</key>
        <array>
            <dict>
                <key>Title</key>
                <string>ASDF</string>
            </dict>
               </array>
    </dict>
</array>

我有这样的课程:

class Chapter
{
    public string Title { get; set; }
    public string SubTitle { get; set; }
}

如何解析此 xml 并分配给章节作为列表?

我尝试了以下方法:

List<Chapters> List = (from d in doc.Root.Element("array").Elements("dict")
                       select new HighwayCode
                       {
                           Title = (string)d.Element("string"),
                           SubTitle = d.Element("array")
                                        .Elements("dict")
                                        .Elements("string")
                                        .Select(s => (string)s)
                                        .ToList()
                       }).ToList();

但是这里的副标题是一个列表,但我需要它作为字符串

你的意思是逗号分隔的字符串?使用String.Join

List<Chapters> List = (from d in doc.Root.Element("array").Elements("dict")
                       select new HighwayCode
                       {
                           Title = (string)d.Element("string"),
                           SubTitles = String.Join(",", d.Element("array")
                                                         .Elements("dict")
                                                         .Elements("string")
                                                         .Select(s => (string)s))
                       }).ToList();

最新更新