XML 到 JSON 在 ASP.NET Core MVC 中

XML to JSON in ASP.NET Core MVC

我得到了带有数据的 XmlReader。如何在 ASP.NET Core MVC 中将其转换为 JSON?

例如:

using (SqlCommand command = new SqlCommand("SELECT * FROM Sample for XML AUTO", connection as SqlConnection)){
    XmlReader xml = command.ExecuteXmlReader();
    xml.Read();
    //convert xml.ReadOuterXml() to json
    return new ObjectResult(json);
}

我最终找到了适合我的解决方案,希望它就是您要找的。输出将是:

{"something":"someValue"}

// References:
//using System.Xml;
//using Newtonsoft.Json;
//using System.Xml.Linq;

var input = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><example><something>someValue</something></example>";
using (var xReader = XmlReader.Create(new StringReader(input))) {                    
    // This line skips the XML declaration, eg "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" - you can skip this if you don't have declaration as in your case
    xReader.MoveToContent();
    // Gets the actual XMLElement, if any
    xReader.Read();
    // Convert the xReader to an XNode for the Json serializer
    XNode node = XNode.ReadFrom(xReader);
    // Json output
    string jsonText = JsonConvert.SerializeXNode(node);
    return jsonText;
}