将XML解析为JSON

我有一个XML文件,比如

AXL19-0711.34 AIK19-0713.54 ALO19-0716.32 APO19-0713.56 ...............more 

如何将其解析为JSON结构文件?

对于一个简单的解决方案,我推荐Jackson ,一个用于生成和读取带有XML扩展的JSON的Java库,因为它可以通过几行简单的代码将任意复杂的XML转换为JSON。

input.xml中

  AXL11.34 AIK13.54 ALO16.32 APO13.56  

Java代码:

 import java.io.File; import java.util.List; import org.codehaus.jackson.map.ObjectMapper; import com.fasterxml.jackson.xml.XmlMapper; public class Foo { public static void main(String[] args) throws Exception { XmlMapper xmlMapper = new XmlMapper(); List entries = xmlMapper.readValue(new File("input.xml"), List.class); ObjectMapper jsonMapper = new ObjectMapper(); String json = jsonMapper.writeValueAsString(entries); System.out.println(json); // [{"name":"AXL","time":"19-07","price":"11.34"},{"name":"AIK","time":"19-07","price":"13.54"},{"name":"ALO","time":"19-07","price":"16.32"},{"name":"APO","time":"19-07","price":"13.56"}] } } 

这个演示使用Jackson 1.7.7 (较新的1.7.8也应该工作), Jackson XML Databind 0.5.3 (尚未与Jackson 1.8兼容)和Stax2 3.1.1 。

http://keithchadwick.wordpress.com/2009/03/14/converting-xml-to-json-with-xsl-part-2/

你还没有指定语言……所以……我没有更多具体的想法,而不是“你已经拥有XML,可能你有权访问xsl / xslt”:

http://www.w3.org/TR/xslt

http://www.thomasfrank.se/xml_to_json.html