1

使用 Newtonsoft 的 .Net 库将 JSON 转换为 XML,有没有办法将特定的 JSON 元素转换为 XML 属性?

例如,采用以下 JSON:

{
    "array": {
        "item": [
            1,
            2,
            3
        ],
        "length": 3
    }
}

并将其转换为:

<array length="3">
    <item>1</item>
    <item>2</item>
    <item>3</item>
</array>

谢谢。

4

1 回答 1

6

您可以在属性前面加上@ 并将它们放在对象的顶部吗?它在文档中说:

属性以 @ 为前缀,并且应位于对象的开头。

看起来像:"@length": "3",对于一个名为“长度”的属性的定义

或者,您可以将 JSON 反序列化为一个对象,然后将其重新序列化为 Xml:

[XmlRoot(ElementName="array")]
class JsonToXmlTranslationObject {

     [XmlElement(ElementName="item")]
     public int[] item { get; set; }

     [XmlAttribute]
     public int length { get; set; }
}

然后使用您的 Json 序列化程序将其反序列化,然后使用 Xml 序列化程序将其序列JsonToXmlTranslationObject化为您的 XML。

于 2013-08-17T23:02:08.497 回答