将JSON转换为XML无法工作。

3
我将尝试使用newtonsoft将JSON转换为XML,但由于左部分包含数字,而XML不能具有以数字开头的元素,因此转换失败。
例如:
{
   "PLC": {
       "10": 7.6,
       "9": 1.8,
       "4": 11
      }
}

有没有安全的方法可以转换它?或者让它添加一个"_"前缀,例如对于以数字开头的元素?

你用这个做什么? - Yuval Itzchakov
你很可能只需要按照文档中的指导操作:在JSON和XML之间进行转换。"如果从JSON创建的XML与您想要的不匹配,那么您将需要手动转换。" 考虑在您的帖子中添加更多信息,例如您想要什么样的XML作为结果,或者为什么您甚至要进行此转换。 - Alexei Levenkov
<PLC> <_10>7.6</_10> <_9>1.8</_9> <_4>11</_4> </PLC> 我需要将其作为XElement处理,以便能够使用该文档。 - atikot
1个回答

1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接