【问题标题】:Xml parsing with Elements of Element使用 Elements of Element 解析 Xml
【发布时间】:2014-02-24 18:09:32
【问题描述】:

我有一个这样的 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();

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

【问题讨论】:

  • 也许这会有所帮助:stackoverflow.com/questions/18498467/…
  • ok 发布完整的 xml 以便我可以复制粘贴它,然后描述您希望输出的措辞,花一些时间说清楚,因为您的问题是大麦可读的,我会有帮助的。

标签: c# xml wpf parsing windows-phone-8


【解决方案1】:

你的意思是逗号分隔的字符串?使用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();

【讨论】:

猜你喜欢
  • 2022-12-02
  • 1970-01-01
  • 2017-06-10
  • 1970-01-01
  • 2018-11-22
  • 1970-01-01
  • 2022-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多