在Java中使用XML的更好方法

wal*_*mon 5 java xml groovy

有很多问题需要最好的XML解析器,我更感兴趣的是什么是最像Groovy for Java的XML解析器?

我想要:

SomeApiDefinedObject o = parseXml( xml );
for( SomeApiDefinedObject it : o.getChildren() ) {
   System.out.println( it.getAttributes() );
}
Run Code Online (Sandbox Code Playgroud)

最重要的是我不想为每种类型的XML节点创建一个,我宁愿只将它们作为字符串处理,而构建XML不需要任何转换器或任何东西,只需要已经定义的简单对象

如果您使用过Groovy XML解析器,您将会知道我在说什么

或者,对我来说,只使用Java中的Groovy会更好吗?

rin*_*rer 4

您可以使用Sun Java Streaming XML Parser快速执行以下操作

    FileInputStream xmlStream = new FileInputStream(new File("myxml.xml"));
    XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(xmlStream);
    while(reader.hasNext()){
        reader.next();
        for(int i=0; i < reader.getAttributeCount(); i++) {
           System.out.println(reader.getAttributeName(i) + "=" + reader.getAttributeValue(i));
        }
    }
Run Code Online (Sandbox Code Playgroud)