我有一个带有xml声明+根标记的XML,我不需要 ->我的目标是将其转换为JSON,而无需xml声明和根标记
var xml = XDocument.Parse(renderedOutput);
var xmlWithoutRoot = JsonConvert.SerializeXNode(xml, Newtonsoft.Json.Formatting.None, true);
// convert XML to JSON
var newJson = Newtonsoft.Json.JsonConvert.SerializeObject(xmlWithoutRoot);
在将 XML 序列化为 JSON 之前,如何从 xml 中删除 XML 减速<?xml version="1.0" encoding="UTF-8"?>
?
要删除XML声明,可以使用XElement
而不是XDocument
,例如:
var renderedOutput = @"<?xml version=""1.0"" encoding=""utf-8"" ?>
<root>
<foo>bar</foo>
</root>";
var xml = XElement.Parse(renderedOutput);
var xmlWithoutRoot = JsonConvert.SerializeXNode(xml, Newtonsoft.Json.Formatting.None, true);
// convert XML to JSON
var newJson = JsonConvert.SerializeObject(xmlWithoutRoot);
Console.WriteLine(newJson);
dotnetfiddle demo
输出:
"{"foo":"bar"}"