我正在尝试使用newtonsoft将JSON转换为XML,但由于左侧部分包含数字而XML不能包含以数字开头的元素,因此转换失败
示例:
{
"PLC": {
"10": 7.6,
"9": 1.8,
"4": 11
}
}
无论如何要安全地转换它吗?或者让它为例如以数字开头的元素添加“_”前缀?
答案 0 :(得分:1)
显然没有通用的方法可以安全地转换它。 XML元素和属性名称不能以数字开头。如果您使用诸如将_
添加到元素名称或在特殊命名空间中引入特殊元素(例如<atikot:item id="10">7.6</atikot:item>
)来表达此构造的技巧,则会失去一般性,并且您需要对反向转换进行特殊处理,XML序列化和反序列化。如果使用任何DTD,您可能也会遇到问题。首先,您必须问自己,转换后需要获得哪种XML以及它将用于什么。