2011-05-10 52 views
2

我在寻找将XML文档解析为Java对象的不同方式。将XML文档解析为Java对象的方法

我有一个XML文档,我需要解析这个XML文档来提取元素并将它们解析为Java对象。

你能推荐以下吗?

  • 不同的方法
  • 生产分析器工具为Java
+0

一些类似的问题:http://stackoverflow.com/questions/3276149/java-converting-xml-to-java-objects,http://stackoverflow.com/questions/3495336/is-there-a-declarative三通对解析的XML到Java对象 – Mark 2011-05-10 08:58:20

回答

0

个人给出的解决方案,我将使用Groovy程序的XML文档的一个简单的XML解析器使用XmlSlurper并将地图作为接口返回。

或者只是使用Groovy的返回值

class XmlParseHelper { 
    private def xmlNode; 

    private String elementName 


    public XmlParserHelper(String elementName, String xml){ 
     this.elementName = elementName 
     xmlNode = new XmlSlurper().parseText(xml) 
    } 

    public int getTotalRows(){ 
     return xmlNode.table.find{[email protected] == elementName}.row.size() 
    } 


    public String getValue(String columName, int index){ 
     return xmlNode.table.find{[email protected] == elementName}.row[index].column.find{[email protected] == columnName}.toString() 
    } 
} 

,可以这样

//xml is the string of the xml 
XmlParseHelper xmlParseHelper = new XmlParseHelper ("mytable", xml); 

     for(int i = 0; i < XmlParseHelper .getTotalRows(); i++){ 
      String code= xmlParseHelper.getValue("code", i); 
      String name= xmlParseHelper.getValue("name", i); 
..... 
    } 

这是一个特定的XML使用,但是很好:这是一个不同的方法。