【问题标题】:C# Deserialize XML into Object (with dictionary field)C# 将 XML 反序列化为对象(带字典字段)
【发布时间】:2013-03-10 11:17:04
【问题描述】:

如何将此 XML 反序列化为对象?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
  <dict>
    <key>key1</key>
    <dict>
        <key>title</key>
        <string>Name1</string>
        <key>price</key>
        <string>1000$</string>
        <key>count</key>
        <string>60</string>
        <key>description</key>
        <string>some description</string>
        <key>photoUrl</key>
        <string>http:/someurl</string>
    </dict>
</dict>
<dict>
    <key>key2</key>
    <dict>
        <key>title</key>
        <string>Name2</string>
        <key>price</key>
        <string>2000$</string>
        <key>count</key>
        <string>35</string>
        <key>description</key>
        <string>some description</string>
        <key>photoUrl</key>
        <string>http://someurl</string>
    </dict>
</dict>

我认为我的对象应该有一个字典作为字段,但是我在代码中定义适当的类时遇到了问题。如何做到这一点?

谢谢。

【问题讨论】:

  • 可能是this?
  • DataContractSerializer 是什么? msdn.microsoft.com/en-US/library/…
  • rene,不,它不起作用。 NotSupportedException。
  • 只是一个提示,但我发现反过来更容易。序列化您的对象以生成 XML,然后您就不会意外编写有缺陷的 XML 结构。

标签: c# xml windows-phone-7 dictionary deserialization


【解决方案1】:

看看Parsing .plist Files to plain XML C#。评价最高的answer(截至目前)是指C# project,它同时支持二进制和xml plist 格式。看看有没有帮助。

【讨论】:

    【解决方案2】:

    我会尝试让XmlSerializer 来完成这项工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多