2016-09-23 229 views
0

我得到XmlReader與數據。如何將它轉換爲ASP.NET Core MVC中的JSON?XML到JSON在ASP.NET核心MVC

例如:

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); 
} 

回答

2

我最終發現,爲我工作的解決方案,希望它的你在找什麼。輸出將是:

{ 「東西」: 「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; 
}