2016-02-04 112 views
2

我序列化與json.net幫助XML文檔..newtonsoft XML序列化屬性的問題

一些XML元素具有屬性,所以當我使用的:

JsonConvert.SerializeXNode(xml, Newtonsoft.Json.Formatting.None, true);

XML元素<shipmentIndex Name="items">0</shipmentIndex>

轉換到JSON: {"shipmentIndex":{"@Name":"items","#text":"0"}

我送這個JSON到期待類似的東西的API: {"shipmentIndex":0}

我怎麼能發送到API正確的數據?

  • 我根據API要求使用了用於格式化JSON的屬性。

回答

1

爲什麼需要JsonConvert爲了解析XML不會更容易使用它解析爲XML?

+0

如果我理解你的權利..只JSON格式與本API –

4

如果您xml變量是XElement類型的,你可以嘗試使用它的RemoveAttributes方法:

var cleanXML = xml; 
cleanXML.RemoveAttributes(); 
JsonConvert.SerializeXNode(cleanXML, Newtonsoft.Json.Formatting.None, true); 
+0

接受的是,我使用'的XElement '但你提供的代碼會導致一個錯誤'Newtonsoft.Json.JsonConvert.SerializeXNode(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting,bool)'有一些無效參數','最好的重載方法匹配'從'void'轉換爲'System.Xml.Linq.XObject'\t' –

+0

請參閱我編輯的答案。 –

+0

相同的結果.... –