2016-02-04 70 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

相同的结果.... –