Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
小型、简约、快速的Java XML库?_Java_Xml_Parsing_Xml Parsing - Fatal编程技术网

小型、简约、快速的Java XML库?

小型、简约、快速的Java XML库?,java,xml,parsing,xml-parsing,Java,Xml,Parsing,Xml Parsing,有时我需要解析XML文件,并且只解析,我不想通过String.indexOf手动完成。所以我需要使用可能最小且快速的XML解析库。不幸的是,我不知道任何类似于GSON(180kb)的东西 我已经导入了dom4j,但在此之后我遇到了异常: java.lang.NoClassDefFoundError:org/jaxen/JaxenException 所以我添加了jaxendependency(maven),这是一个非常令人震惊的体验:添加了大约7MB的依赖项,其中最大的是xercesImpl和ic

有时我需要解析XML文件,并且只解析,我不想通过
String.indexOf
手动完成。所以我需要使用可能最小且快速的XML解析库。不幸的是,我不知道任何类似于GSON(180kb)的东西

我已经导入了dom4j,但在此之后我遇到了异常:

java.lang.NoClassDefFoundError:org/jaxen/JaxenException

所以我添加了jaxendependency(maven),这是一个非常令人震惊的体验:添加了大约7MB的依赖项,其中最大的是xercesImpl和icu4j

另一个猜测是Jericho,但这主要是为解析格式错误的HTML而设计的,它的容量超过2MB——当然可能有更小的可用容量

那么,你能给我推荐一些好的图书馆吗?在这里,最小的代码大小是最重要的。充其量也应该是GSON的大小,看看NanoXML-


这是一个非常小的基于DOM的解析器库,我以前使用过它,它工作得很好。它不一定高效,但很小。

JAXB。它是标准Java平台的一部分,因此您不需要任何额外的库。它将XML直接绑定到Java类。

Java标准库中的
javax.XML.parsers
有什么问题


XMLDOM和SAX解析器至少从Java1.4开始就包含在标准Java库中。为什么不直接用它呢?那么你根本不需要任何第三方图书馆。@artbristol:因为他可能会被运送到手机或数千台台式机上?(我并不是说OP实际上就是这么做的:我只是说这些都不是不合理的要求)小尺寸可以让将应用程序更快地发送到远程服务器,例如,当war的容量大于2MB时,我可以通过邮件将其发送给服务器管理员,对于大于10MB的应用程序来说,这不是一个好主意。。。另一件事是使用的简单性,许多XML用于简单地包装数据结构,它们没有DTS和名称空间,我希望它们能够像GSO一样简单地映射。如果您通过电子邮件将.war文件发送给服务器管理员进行部署,您会遇到比您使用的XML库的大小更大的问题。您最好花时间解决这些问题。这正是我想要的。@lechlukasz-JavaSE6现在已经超过5年了,将在2012年11月达到支持EOL()。所以JDK1.6是一个合理的基准,理论上可能是这样,但实际上Java1.4仍然被广泛使用