Libraries to convert xml into JSON and vice versa Libraries to convert xml into JSON and vice versa json json

Libraries to convert xml into JSON and vice versa


Not a C#, but a pure XSLT 2.0 implementation that converts a JSON object into an XML document:

Have a look at the f:json-document() from the FXSL 2.x library.

Using this function it is extremely easy to incorporate JSon and use it just as... XML.

For example, one can just write the following XPath expression:

f:json-document($vstrParam)/Students/*[sex = 'Female']

and get all children of Students with sex = 'Female'

Here is the complete example:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:f="http://fxsl.sf.net/" exclude-result-prefixes="f xs" > <xsl:import href="../f/func-json-document.xsl"/> <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:variable name="vstrParam" as="xs:string">{  "teacher":{    "name":      "Mr Borat",    "age":      "35",    "Nationality":      "Kazakhstan"             },  "Class":{    "Semester":      "Summer",    "Room":      null,    "Subject":      "Politics",    "Notes":      "We're happy, you happy?"           },  "Students":    {      "Smith":        {"First Name":"Mary","sex":"Female"},      "Brown":        {"First Name":"John","sex":"Male"},      "Jackson":        {"First Name":"Jackie","sex":"Female"}    }    ,  "Grades":    {      "Test":      [        {"grade":"A","points":68,"grade":"B","points":25,"grade":"C","points":15},        {"grade":"C","points":2, "grade":"B","points":29, "grade":"A","points":55},        {"grade":"C","points":2, "grade":"A","points":72, "grade":"A","points":65}       ]    }} </xsl:variable> <xsl:template match="/">    <xsl:sequence select=     "f:json-document($vstrParam)/Students/*[sex = 'Female']"/> </xsl:template></xsl:stylesheet>

When the above transformation is applied on any XML document (ignored), the correct result is produced:

<Smith>   <First_Name>Mary</First_Name>   <sex>Female</sex></Smith><Jackson>   <First_Name>Jackie</First_Name>   <sex>Female</sex></Jackson>


Check out Json.NET. It's a great library that is easy to get into.


I'm not sure about from json to xml, but we use this xml to json xsl template to great effect in out CMS which is XML based, rather handy to reuse existing XML structures for ajax applications.

http://code.google.com/p/xml2json-xslt/