将XML转换为JSON格式

时间:2010-10-05 08:16:15

标签: xml json

我想将XML文件转换为JSON格式,但我不知道如何将其转换为JSON格式。谁能帮我?谢谢。

<class>
    <num>2</num>
    <student>
        <name>example1@email.com</name>
        <age>5</age>
    </student>
    <student>
        <name>example2@email.com</name>
        <age>10</age>
    </student>
</class>

更新: 对不起大家 我没有清楚地提到它

我只想要上述XML文件的JSON格式。 任何计划都没有做到这一点。

答案如下
{
  "class"

...

}

4 个答案:

答案 0 :(得分:3)

如果您使用的是java,我会说json-lib

InputStream in = ConvertXMLtoJSON.class.getResourceAsStream("file.xml");
String xml = IOUtils.toString(in);

XMLSerializer xmlSerializer = new XMLSerializer(); 
JSON json = xmlSerializer.read(xml);  
System.out.println(json.toString(2));

答案 1 :(得分:2)

您可以使用XSLT样式表将XML转换为基本上任何东西,包括JSON,在Google Code上查看XML2JSON-XSLT,这是一个已经制作好的XSLT样式表。使用XSLT将允许您提供XML,浏览器将将其作为JSON读取。如果您正在为Ajax应用程序提供JSON,那么在服务器端进行转换将是明智的。

答案 2 :(得分:2)

如果您正在使用PHP,则可能需要查看内置的JSON函数:

http://www.php.net/json

特别是,json_encode会将PHP数组转换为JSON字符串,所以如果你可以先将XML转换为数组(xml_parse_into_struct可以做你想做的,也有很多第三方库)你应该能够分两步从XML转到JSON。

答案 3 :(得分:1)

我正在写这个答案,假设您对给定XML的JSON表示本身感兴趣,而不是如何转换它。

确切代表:

{num:2, student:{name:"example1@email.com", age:5}, student:{name:"example2@email.com", age:10}}

但我认为你应该将一个成员定义为Student的数组。这将导致:

{num:2, students:[{name:"example1@email.com", age:5}, {name:"example2@email.com", age:10}]}