2013-08-17 147 views
1

使用Newtonsoft的.Net庫將JSON轉換爲XML,有沒有辦法將特定的JSON元素轉換爲XML屬性?如何將JSON屬性轉換爲XML作爲xml元素的屬性

例如,採取以下JSON:

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

並將其轉換爲:

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

感謝。

回答

5

你可以用@作爲前綴的屬性,並把它們放在對象的頂部嗎?它在文檔中說:

屬性以@爲前綴,並且應位於 對象的起始位置。

的樣子:"@length": "3",名爲「長度」

或者,也可以反序列化JSON成一個對象,然後屬性的定義reserializing爲XML:

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

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

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

然後用你的Json序列化器進行反序列化,然後使用Xml序列化器將JsonToXmlTranslationObject序列化到您的XML中。

+0

你如何用@包含的標籤來裝飾類? –

+0

這可能有所幫助:http://stackoverflow.com/questions/4686817/serialize-net-object-to-json-controlled-using-xml-attributes –