如何从字符串或 xml 中删除 XML 声明 + 根标记



我有一个带有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"}"

相关内容

  • 没有找到相关文章

最新更新