如何使用Java读取XML文件?

我需要使用Java读取XML文件。 它的内容就像

  C:/Input.csv COMMA COMPANYNAME|PRODUCTNAME|PRICE 20|20|20 company_name|product_name|price   

是否有任何特殊的读者/ JAR或我们应该使用FileInputStream读取?

另一个建议:尝试Commons消化器。 这允许您使用基于规则的方法非常快速地开发解析代码。 这里有一个教程, 这里有图书馆

我同意Brian和Alzoid的观点,因为JAXB非常适合让您快速上手。 您可以使用JDK附带的xjc绑定编译器在给定XML模式的情况下自动生成Java类。

查看标准的Java JAXP API。 您可以将XML从文件读入DOM(对象模型),或者作为SAX读取 – 一系列事件(您的代码将为每个元素开始,元素结束等接收事件)。 对于DOM和SAX,我会看一个API教程来开始。

或者,您可能会发现JDOM更容易/更直观地使用。

xstream会在这里做得非常好。 查看单页教程

您可以使用Castor中的外部库https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-1046622.html我过去使用过castor。 以下是一些可能有用的其他链接。 http://www.xml-training-guide.com/e-xml27.html

http://java.sun.com/j2se/1.4.2/docs/api/org/xml/sax/XMLReader.html http://www.cafeconleche.org/books/xmljava/chapters/ch07.html

使用Java解析XML有两种主要方法。 第一种是使用SAX解析器, 请参见此处

这很简单。

第二个选项是使用DOM解析器, 请参见此处

这更复杂,但给你更多的控制。

JAXB是另一种可能适合您需求的技术。