我正在将以下XML转换为JSON:
<NODE1>
<NODE2>200</NODE2>
<NODE3>Got the contents</NODE3>
<NODE4 INDEX="1" SIZE="2" TOTALPAGES="1" TOTAL="2">
<NODE5 ID="94086" TITLE="Bo Aung Din Lo Lu Ky" />
<NODE5 ID="94087" TITLE="Bo Aung Din Lo Lu Ky" />
</NODE4>
</NODE1>
使用以下代码:
XmlDocument doc = new XmlDocument();
doc.Load("C:\\1.xml");
string jsonText = JsonConvert.SerializeXmlNode(doc);
我遇到的问题是@
符号出现在XML属性之前,即@ID
而不是ID
。
这是对的吗?还是库中有错误?
答案 0 :(得分:1)
是的。
据记录具有该行为:
属性以@开头,并且应位于对象的开头。
(来自https://www.newtonsoft.com/json/help/html/ConvertingJSONandXML.htm)
我认为这是因为JSON只是具有结构属性,而XML具有元素和属性(它们的名称可能重叠:同一元素的子元素与属性的名称相同)。通过为名称加上前缀,输出JSON保留了区别。