Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.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 何时以及为什么要使用Apache commons digester?_Java_Apache Commons Digester - Fatal编程技术网

Java 何时以及为什么要使用Apache commons digester?

Java 何时以及为什么要使用Apache commons digester?,java,apache-commons-digester,Java,Apache Commons Digester,在所有用java输入和输出xml的库中,commons digester是哪种情况下的首选工具 为什么要用蒸煮器 消化器是SAX顶部的一层 xml解析器API,使 处理xml输入。特别地, 蒸煮器使其易于创建和使用 根据以下内容初始化对象树: xml输入文件 消化器最常用的用途是 进程xml格式配置 文件,构建对象树 基于这一信息 请注意,蒸煮器可以创建和 初始化真实对象(事物) 这与公司的业务目标有关 该应用程序具有实际应用价值 行为。许多其他工具都有一个 不同的目标:建立一个 输入XML文档

在所有用java输入和输出xml的库中,commons digester是哪种情况下的首选工具

为什么要用蒸煮器

消化器是SAX顶部的一层 xml解析器API,使 处理xml输入。特别地, 蒸煮器使其易于创建和使用 根据以下内容初始化对象树: xml输入文件

消化器最常用的用途是 进程xml格式配置 文件,构建对象树 基于这一信息

请注意,蒸煮器可以创建和 初始化真实对象(事物) 这与公司的业务目标有关 该应用程序具有实际应用价值 行为。许多其他工具都有一个 不同的目标:建立一个 输入XML文档中的数据, 就像W3CDOM一样,它只做了一点点 友好的

与生成 类,您可以编写您的 首先是应用程序的类,然后是 后来决定用蒸煮器来建造 它们来自xml输入文件。这个 结果是你们的课程是真实的 有真实行为的班级 碰巧是从xml初始化的 文件,而不是简单的“结构” 那只是保存数据

作为一个例子,它不用于:

但是,如果您正在寻找输入xml文档的直接表示形式,如 数据而不是真实的对象,那么digester就不适合你了;DOM、jDOM或其他更多 直接绑定工具将更合适


因此,digester将把XML直接映射到java对象中。在某些情况下,这比必须通读树并拉出选项更有用

如果您想从XML创建并初始化“true”对象,请使用一个像样的bean容器,如Spring提供的容器

此外,读入XML并使用XPath自己处理,或者使用Java/XML绑定工具(如Castor)都是不错的选择,而且可能是更标准的选择

我在使用Struts时使用过Digester,但在可能的用途方面,它似乎已经被其他工具和框架所超越。

我的第一个想法是“永远”。。。但也许它有它的位置。我同意eljenso的观点,它已经被竞争所超越

因此,对于高效和简单的对象绑定/映射,是更好的选择,或者。更方便,甚至更快


编辑2019:同样,在方法上类似于JAXB,但使用Jackson注释

其他替代方法:jdom、dom4j、xstream、xmlbeans、Commons Digester、xblink、Commons betwixt;x-stream:,jaxb:;jaxb与xstream:;从jaxb迁移到xstream:;另请参阅:“如果您想从XML创建并初始化“true”对象,请使用一个像样的bean容器,如Spring提供的容器。”这是一个很好的例子。完全是这样。