<?xml version="1.0" encoding="utf-8"?>
<terminal hostname="" port="" version="" update-time="">
<policy name="PmSymantecPolicy">
<method id="isInstall" class="Install">
<param name="installPackAddress" value=""/>
<result value="true" meid="isNewVersion"/>
</method>
<method id="isNewVersion" class="Version">
<param name="newVersionDate" value=""/>
<param name="upgradePackAddress" value=""/>
<result value="true" meid="isOverLimit"/>
</method>
<method id="isOverLimit" class="Limit">
<param name="timeLimit" value=""/>
</method>
</policy>
</terminal>
Digester digester=new Digester();
digester.setValidating(false);
digester.addObjectCreate("terminal/policy", Policy.class);
digester.addSetProperties("terminal/policy");
digester.addSetNext("terminal/policy", "addPolicy");
digester.addObjectCreate("terminal/policy/method",Method.class);
digester.addSetProperties("terminal/policy/method","id","id");
digester.addSetProperties("terminal/policy/method","class","className");
digester.addSetNext("terminal/policy/method", "addMethod");
digester.addObjectCreate("terminal/policy/method/param",Param.class);
digester.addSetProperties("terminal/policy/method/param");
digester.addSetNext("terminal/policy/method/param", "addParam");
digester.addObjectCreate("terminal/policy/method/result",Result.class);
digester.addSetProperties("terminal/policy/method/result");
digester.addSetNext("terminal/policy/method/result", "addResult");
分享到:
相关推荐
为了更好地利用这一工具,Digester提供了名为`org.apache.commons.digester.xmlrules`的包,该包中的类可以从一个XML文档中读取并返回一个指定的配置信息。值得注意的是,为了确保配置文件能够被正确地解析,XML文档...
我们可以在`rule.xml`中设置规则,使得`<root>`元素创建一个`Root`对象,`<element1>`创建一个`Element1`对象,`<element2>`则设置`Element1`对象的某个属性。 下面是一些可能的`rule.xml`配置示例: ```xml ...
1. **XML到Java对象映射**:Digester允许开发者定义一系列的规则,这些规则将XML元素映射到Java对象的实例化、方法调用或属性设置。例如,一个`<user>`元素可能对应一个`User`类的实例,而`<user>`内的`<name>`元素...
Digester是Apache软件基金会的Jakarta项目中的一个实用工具库,它主要用来解析XML文档,并根据预定义的规则自动创建和配置Java对象。这个工具在处理XML到Java对象映射时,极大地简化了代码,避免了手动解析XML的繁琐...
- **配置文件解析**:在很多框架中,如Spring,都使用类似Digester的方式解析XML配置文件,创建和配置对象。 - **对象的自动构建**:通过XML描述, Digester可以自动生成对象树,并按照XML结构设置对象属性,极大地...
在 Commons Digester 中,我们可以为 `<dependency>` 元素定义规则,当解析到 `<dependency>` 时,创建一个新的 `Dependency` 对象并设置其属性。对于 `<dependency>` 的子元素如 `<groupId>`、`<artifactId>` 和 `...
要使用Digester解析XML文档,首先需要创建一个 `org.apache.commons.digester.Digester` 类的实例,并配置必要的模式和规则,最后调用 `parse()` 方法。 以下是一个简单的示例代码: ```java import org.apache....
例如,使用 `setFactory` 方法设置一个对象工厂类,当 Digester 遇到特定的XML元素时,会调用工厂类来创建对象。 5. **属性和参数处理**: Digester 可以自动处理XML元素的属性,将其设置为Java对象的属性。此外,还...
1. **设置消化规则**:定义XML元素与Java方法之间的映射规则,当解析到特定XML元素时, Digester会调用相应的Java方法。 2. **解析XML**:使用`Digester`解析XML文档,并根据设定的规则执行操作。 下面是一个基本的...
在硬编码方式中,开发者直接在代码中创建和设置Digester的规则。这些规则定义了如何处理XML文档中的元素和属性,例如何时创建新的Java对象,以及如何将XML数据绑定到这些对象的字段或方法。这种方式的优点是灵活且...
在这个配置中,`addObjectCreate` 方法用于创建新的对象,`addSetProperties` 方法用于设置对象的属性值。当我们运行程序时, Digester会根据XML文件解析出相应的对象树,并将它们关联到一起。 在"DigesterXmlTest...
在与digester结合使用时,它能帮助找到XML配置文件中引用的服务或者类,使得动态加载和配置成为可能。例如,当XML配置文件中包含类名但未提供完全限定路径时,commons-discovery可以自动查找并加载相应的类。 在...
使用Digester的基本步骤包括创建Digester实例、设置解析规则、然后调用`parse()`方法解析XML。 4. **规则定义** Digester的规则是通过`addRule()`方法添加的。例如,你可以使用`addRuleSet()`添加一个预定义的...
在“压缩包子文件的文件名称列表”中提到的“ParseXML”可能是解析XML的主要类或模块,它可能包含了设置Digester规则和处理解析结果的逻辑。这个类会打开“参与者基础数据-4月.zip”中的XML文件,调用Digester进行...
1. **检查POM.xml**:确保`<dependency>`标签中`commons-digester`的版本设置正确,且没有与其他库的版本冲突。 2. **清理并重新构建**:执行`mvn clean install`以清除本地仓库的旧版本依赖,然后重新构建项目。 3....
**Apache Commons Digester** 是一个Java库,它允许开发人员定义一套规则,这些规则可以解析XML文档,并根据这些规则在Java对象模型中创建和配置对象。这个库在处理XML到Java对象映射时非常有用,特别是在构建配置...
- **对象创建与填充**:在解析过程中,遇到匹配的XML元素时, Digester会根据规则创建新的Java对象,并将其添加到当前对象模型中,或者调用已存在对象的方法来处理数据。 3. **主要类和方法** - **Digester类**:...
在这个示例中,我们首先创建了一个`Digester`实例,并设置了必要的规则来处理`students.xml`文件。然后,我们通过`push`方法将一个初始的`Vector<Student>`对象放入Digester的栈中。最后,我们调用了`parse`方法来...
`commons-digester.jar`是Apache Commons项目中的一个组件,主要功能是解析XML文档并根据预定义的规则自动创建和填充Java对象。这个组件在Java应用程序中尤其有用,特别是那些需要从XML配置文件中构建复杂对象层次...