繁体   English   中英

使用Java解析xml文件

[英]Parsing a xml file using Java

我需要使用JAVA解析xml文件,并且必须在解析后从该xml文件中创建一个bean。

我在使用Spring JMS时需要这个,其中生产者正在生成xml文件。首先,我需要读取xml文件并根据采取措施。

我读了一些有关解析的内容,并附带了这些选项

  1. 路径
  2. DOM

哪一个是解析xml文件的最佳选择。

你检查JAXB了吗

有三种解析XML文件的方法:SAX,DOM和StAX。

DOM将解析整个文件并在内存中构建一棵树-非常适合小文件,但是显然,如果这很大,那么您就不希望整个树都位于内存中! SAX是基于事件的-它本身不会将任何内容加载到内存中,而只是在读取文件时触发一系列事件。 StAX是两者之间的中间值,应用程序会根据需要将光标向前移动,并随即获取数据(因此不会触发事件或占用大量内存)。

您使用的是什么,实际上将取决于您的应用程序-自Java 6起,所有功能都已内置在库中。

如果需要创建对象,只需提取所需的属性并继续...我建议使用StaX,有关更多信息,请参见本教程

看起来,您通过Java消息传递收到了序列化的对象。 首先看一下对象如何被序列化。 通常,这是通过库(jaxb,axe,...)完成的,您可以使用相同的库来创建反序列化器。

你会需要:

  1. xml模式(xsd文件)
  2. Java bean类(非常有用,它应该存在)

然后,通常该库将创建所有帮助程序类和文件,而您不必关心解析。

嗯..有几种方法可以将xml文档解析到内存中并使用它。 您提到了DOM。 DOM实际上将整个文档上载到内存中,然后允许您在XML文档的不同分支之间移动。

另一方面,您可以使用StAX。 它的工作原理类似于DOM。 唯一的区别是,它可以流化XML文档的内容,从而可以更好地分配内存。 另一方面,它不保留已读取的信息。

查看: http : //download.oracle.com/javaee/5/tutorial/doc/bnbem.html它提供了有关解析方法和示例代码的详细信息。 希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM