将JSON转换为XML不起作用

时间:2014-09-29 14:36:25

标签: c# .net xml json

我正在尝试使用newtonsoft将JSON转换为XML,但由于左侧部分包含数字而XML不能包含以数字开头的元素,因此转换失败

示例:

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

无论如何要安全地转换它吗?或者让它为例如以数字开头的元素添加“_”前缀?

1 个答案:

答案 0 :(得分:1)

显然没有通用的方法可以安全地转换它。 XML元素和属性名称不能以数字开头。如果您使用诸如将_添加到元素名称或在特殊命名空间中引入特殊元素(例如<atikot:item id="10">7.6</atikot:item>)来表达此构造的技巧,则会失去一般性,并且您需要对反向转换进行特殊处理,XML序列化和反序列化。如果使用任何DTD,您可能也会遇到问题。首先,您必须问自己,转换后需要获得哪种XML以及它将用于什么。