2014-09-29 77 views
3

我試圖用newtonsoft轉換JSON爲XML,但由於左側部分包含了一些和XML不能以數字轉換失敗轉換JSON爲XML不起作用

實例開始元素:

{ 
    "PLC": { 
     "10": 7.6, 
     "9": 1.8, 
     "4": 11 
     } 
} 

有無論如何安全地轉換它?或者讓它爲以數字開頭的元素添加一個「_」前綴?

+0

你在用什麼? – 2014-09-29 14:43:58

+0

您可能只需要遵循文檔中的指導:[在JSON和XML之間轉換](http://james.newtonking.com/json/help/index.html?topic=html/ConvertingJSONandXML.htm)「If從JSON創建的XML與您想要的不匹配,然後您需要手動將其轉換。「考慮在你的文章中添加更多關於你想要什麼XML作爲結果的信息,或者爲什麼你甚至試圖做這種轉換。 – 2014-09-29 14:45:04

+0

一個例子是 \t <_10> 7.6 \t <_9> 1.8 \t 我需要它,所以我可以與文檔的XElement工作 – atikot 2014-09-29 15:00:30

回答

1

很明顯,沒有通用的方法來安全地轉換它。 XML元素和屬性名稱不能以數字開頭。如果使用諸如將_添加到元素名稱之類的技巧或在特殊名稱空間中引入特殊元素(例如<atikot:item id="10">7.6</atikot:item>)來表達此構造,則會失去一般性,您還需要在後向轉換,XML序列化和反序列化等方面進行特殊處理。如果你使用任何DTD,你也可能會遇到問題。你必須先問自己,首先你需要在轉換後獲得什麼類型的XML,以及它將用於什麼。