没有父节点的XML字符串到c#的JSON
本文关键字:JSON 字符串 XML 父节点 | 更新日期: 2023-09-27 17:51:22
我有一个不包含父节点的XML字符串。这个XML是API的json请求的表示形式。这看起来毫无意义,但这样做是为了让非程序员更容易读取文件。为了将XML转换为json,我所看到的几乎所有内容都说将字符串转换为XMLDocument,然后使用以下命令获取json.
string jsonText = JsonConvert.SerializeXmlNode(doc);
我在这里遇到的问题是xml不是真正有效的,因此,它不能转换为xml文档。我真正想要的是能够做到这一点。
string jsonText = JsonConvert.SerializeXmlNode(doc.InnerXml);
这不起作用,因为innerXML是字符串而不是对象。我已经能够让它通过创建一个根元素,然后只是使用子字符串来削减结果字符串工作,但这似乎毫无意义。必须有一个更好的方法来做到这一点,而不必添加xml,只是必须从json之后删除它。是否有可能将一段xml(如下面的xml)转换为json(如下面的示例)?
<rootnode>
<fielda>a</fielda>
<fieldb>b</fieldb>
</rootnode>
皈依
{
"fielda": "a",
"fieldb": "b"
}
SerializeXmlNode
过载,接受布尔值omitRootObject
:
string jsonText = JsonConvert.SerializeXmlNode(doc, Formatting.None, true);
JsonConvert.SerializeXmlNode
有一个重载的方法,你可以用它来忽略根。
string jsonText = JsonConvert.SerializeXmlNode(doc, Formatting.None, true);
第三个参数用于省略RootObject