Java:解析和写入xml文件
我需要用Java解析一个xml文档并输出另一个xml文档。
更具体地说,我在原始 xml 文件中有一个项目列表,我需要对它们进行分组,对值进行平均,并输出一些平均项目。
我应该使用任何java库吗?
谢谢
I need to parse a xml document with Java and output another xml document.
More specifically, I have a list of items in the original xml file and I need to group them, averaging the values, and output few averaged items.
should I use any java library for that ?
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
解析 xml 并写入另一个 XML 文档最好使用 JDOM。然而,使用 JDOM 进行分组和平均会很痛苦。
您还可以使用 JAXB 从 xml 创建 POJO,然后对 POJO 进行平均和分组,然后使用 JAXB 将其编组回 XML。
如果目标 XML 具有与源 XML 不同的架构,并且需要 POJO 之间的转换,请使用 dozer。
Parsing xml and writing to another XML document is best done with JDOM. However, grouping and averaging is gonna be painful with JDOM.
You could also use JAXB to create POJOs from the xml, then do your averaging and grouping on the POJO, and marshall it afterwards with JAXB back to XML.
If the target XML has a different schema then the source XML, and conversion between the POJOs is required, use dozer.
最好的方法是利用图书馆。在没有库的情况下执行此操作意味着您将不得不编写代码以艰难地解析和创建 xml。我建议您使用JDom。以下是 Java XMl 库的列表: http://java-source.net/open-源/xml解析器
The best way would be to make use of a library. Doing it without a library means you will have to code for parsing and creating your xml the hard way. I suggest you use JDom. Here is a list of Java XMl library: http://java-source.net/open-source/xml-parsers
您可以使用 DOM 或 SAX 来解析 XML 文件。 DOM 允许您导航到每个 xml 项目,而 SAX 基于解析器在解析文件时发出的事件。 DOM 通常更容易使用,但是由于它将整个 xml 文件加载到内存中,因此它不适用于大文件,在这种情况下,您最好使用 SAX。您可以在 javax.xml.parsers 包中找到这两个解析器。
您可以在此处找到两个解析器的一些示例 http://java.sun.com/developer/代码示例/xml.html
You can either use DOM or SAX to parse an XML file. DOM allows you to navigate to each xml item, while SAX is based on events the parser emits while parsing the file. DOM is usually easier to work with, however since it loads the whole xml file into memory it won't work for large files, in which case you're better off using SAX. You can find both parsers in the javax.xml.parsers package.
You can find some examples for both parsers here http://java.sun.com/developer/codesamples/xml.html
您需要使用 DOM 或 SAX 解析器来使用 Java 解析 XML 文档。
用于 XML 处理的 Java API(JAXP) 是 Java XML 编程 API 之一。它提供了验证和解析 XML 文档的功能。
但是,如果您在决定正确的方法之前先点击这些链接,那就更好了。
对 DOM 或 SAX 感到困惑吗?
访问此处:我应该使用 DOM 还是 SAX
另外,建议阅读 JAXB
You need to use DOM or SAX parsers for parsing XML documents using Java.
The Java API for XML Processing(JAXP) , is one of the Java XML programming APIs. It provides the capability of validating and parsing XML documents.
But, it would be better if you follow these links before deciding the right approach.
Confused about DOM or SAX ?
Visit here : Should I use DOM or SAX
Also, recommended reading JAXB
看看 Xstream
Take a look at Xstream