`
softstone
  • 浏览: 476487 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Java解析XML之 Digester的一个小例子

阅读更多

XML文档

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE po SYSTEM "src/sample.dtd">
<po id="po121" submitted="2001-10-05"
    xmlns
="http://www.csdn.net">
    
<billTo id="addr-1">
        
<company>The Redzero Cop.</company>
        
<street>Jianguo Road 1ST</street>
        
<street>Building 1</street>
        
<city>Haidian</city>
        
<state>Beijing</state>
        
<postalCode>100071</postalCode>
    
</billTo>
    
<shipTo href="addr-1"/>
    
<order>
        
<item sku="o318-BP" quantity="5">
            
<description>J2EE programmic</description>
        
</item>
        
<item sku="o947-TI" quantity="12">
            
<description>Java WEB Service</description>
        
</item>
        
<item sku="o008-PR" quantity="133">
            
<description>C++ develop</description>
        
</item>
    
</order>
</po>

 Java对象树定义

//根节点,表示一个订单Po
public class Po
...{
    
private String id;
    
private String submitted;
    
private BillTo billTo;
    
private ShipTo shipTo;
    
private Order order;
    
public BillTo getBillTo()
    
...{
        
return billTo;
    }

    
public void setBillTo(BillTo billTo)
    
...{
        
this.billTo = billTo;
    }

    
public Order getOrder()
    
...{
        
return order;
    }

    
public void setOrder(Order order)
    
...{
        
this.order = order;
    }

    
public ShipTo getShipTo()
    
...{
        
return shipTo;
    }

    
public void setShipTo(ShipTo shipTo)
    
...{
        
this.shipTo = shipTo;
    }

    
public String getId()
    
...{
        
return id;
    }

    
public void setId(String id)
    
...{
        
this.id = id;
    }

    
public String getSubmitted()
    
...{
        
return submitted;
    }

    
public void setSubmitted(String submitted)
    
...{
        
this.submitted = submitted;
    }
    
}

//Po的子节点,标识送货地址,对应<po><billTo>
public class BillTo extends Address
...{
    
private String id;

    
public String getId()
    
...{
        
return id;
    }


    
public void setId(String id)
    
...{
        
this.id = id;
    }
    
}


public class ShipTo extends Address
...{
    
private String href;

    
public String getHref()
    
...{
        
return href;
    }


    
public void setHref(String href)
    
...{
        
this.href = href;
    }

    
}

public class Address
...{
    
private String company;
    
private String city;
    
private String state;
    
private String postalCode;
    
private ArrayList streets  = new ArrayList();
    
    
public void addStreet(String street)...{
        
this.streets.add(street);
    }

    
public String getCity()
    
...{
        
return city;
    }

    
public void setCity(String city)
    
...{
        
this.city = city;
    }

    
public String getCompany()
    
...{
        
return company;
    }

    
public void setCompany(String company)
    
...{
        
this.company = company;
    }

    
public String getPostalCode()
    
...{
        
return postalCode;
    }

    
public void setPostalCode(String postalCode)
    
...{
        
this.postalCode = postalCode;
    }

    
public String getState()
    
...{
        
return state;
    }

    
public void setState(String state)
    
...{
        
this.state = state;
    }
分享到:
评论

相关推荐

    Java_XML解析之Digester的使用

    Java XML解析中的Digester是一个强大的工具,用于将XML文档转换为Java对象。它最初是为了处理Struts框架的配置文件而设计的,随着时间的发展,它成为一个轻量级且高效的框架,专注于单向转换,即从XML到Java对象。...

    Digester解析XML的小例子(对象嵌套)

    在Java开发中,Struts框架提供了一个强大的工具——Digester,用于解析XML文件并自动创建、配置Java对象。本文将详细介绍如何使用Digester处理具有嵌套结构的XML文档,并通过一个具体的实例——"DigesterXmlTest"来...

    利用commons-digester解析xml

    Apache Commons项目中的Digester库提供了一种方便的方式来解析XML文件,将其转换为Java对象,这对于处理配置文件或者构建对象关系映射非常有用。本篇文章将深入探讨如何利用Apache Commons Digester库解析XML。 ...

    java反射,Digester解析xml文档

    **Digester** 是Apache Commons项目中的一个库,它专门用于解析XML文档,并基于规则将其转换为Java对象。Digester通过匹配XML元素结构来调用对象的方法或创建新对象,减少了手动解析XML的复杂性。这在配置驱动的Java...

    digester解析xml

    当解析XML时,Digester会逐行读取XML文档,每当遇到一个匹配的元素,就会执行与之关联的规则。这个过程可以分为以下几步: 1. **初始化**:首先,我们需要创建一个Digester实例,并设置必要的配置,如命名空间处理...

    digester解析xml 所需jar包

    我们可以创建一个`Book`类,然后使用`Digester`解析XML并自动创建`Book`对象: ```java public class Book { private String id; private String title; private String author; // getters and setters... } ...

    使用digester配置rule.xml规则来解析自定义的xml文件-代码

    Digester是一个开源库,它提供了从XML到Java对象的映射功能。通过定义一系列的“消化规则”(Rule),我们可以指定当XML文档的某个元素出现时,应该执行什么操作,比如创建新的Java对象、设置对象属性或者调用对象...

    digester jar 包

    在本文中,我们将深入探讨Java解析XML文件,特别是使用Digester库的过程。 1. **Java解析XML的基本概念** 在Java中,解析XML文件通常有两种主要方法:DOM(Document Object Model)和SAX(Simple API for XML)。...

    Digester两种解析方式

    总结来说,Apache Commons Digester提供了两种解析XML并映射到Java对象的方法。硬编码方式适合于简单场景和快速原型,而独立的规则文件则适用于大型项目,以提高代码的可读性和可维护性。开发者可以根据项目需求选择...

    commons-digester.jar

    `commons-digester.jar`是Apache Commons项目中的一个组件,主要功能是解析XML文档并根据预定义的规则自动创建和填充Java对象。这个组件在Java应用程序中尤其有用,特别是那些需要从XML配置文件中构建复杂对象层次...

    digester用法测试案例

    Digester是Apache软件基金会的Jakarta项目中的一个实用工具库,它主要用来解析XML文档,并根据预定义的规则自动创建和配置Java对象。这个工具在处理XML到Java对象映射时,极大地简化了代码,避免了手动解析XML的繁琐...

    xml转换java对象

    这个例子可能包括一个简单的Java类,一个对应的XML文件,以及使用Betwixt进行转换的Java代码。 例如,假设有一个名为`Person`的Java类,包含`name`和`age`字段,对应的XML文件可能如下: ```xml &lt;name&gt;John Doe ...

    Java解析XML格式数据的方法详解

    Java解析XML格式数据的方法主要涉及三种方式:DOM(文档对象模型)、SAX(简单API for XML)和Digester。每种方法都有其独特的特性和适用场景。 1. DOM解析: DOM是W3C推荐的标准API,它将整个XML文档加载到内存中...

    commons-digester-2.1.jar.zip

    这个库的名字"Digester"源自其功能,就像一个消化系统,可以“消化”XML输入并生成相应的Java对象结构。在本文中,我们将深入探讨Apache Commons Digester的核心概念、主要功能以及如何在项目中使用它。 ## 一、...

    commons-digester-2.0.rar源文件及jar文件

    一个简单的例子是创建一个XML配置文件,描述一个对象树,然后使用Digester来根据这个配置文件动态生成相应的Java对象。例如,XML文件中描述了一个Person对象,包含name和age属性, Digester可以通过如下方式解析: ...

    Digester学习

    Apache Digester 是一个用于解析XML文档并将其映射到Java对象的工具,尤其在处理配置文件或对象关系映射时,它能极大地简化工作流程。这个强大的工具允许开发者通过规则来定义XML元素如何映射到Java对象的方法调用,...

    xml 解析例子

    DOM解析器将整个XML文档加载到内存中,创建一个树形结构,称为DOM树。每个元素、属性、文本节点都在树中对应一个节点。开发者可以通过遍历DOM树来访问和修改XML文档的任何部分。这种解析方式的优点是可以方便地进行...

    xml操作的例子

    - DOM4J:一个流行的Java XML库,提供了丰富的API,支持XML解析、创建和修改,以及XPath查询。 4. XML序列化 - 将Java对象转换为XML的过程称为序列化。JAXB提供了`unmarshal` 方法将XML反序列化为Java对象,反之...

Global site tag (gtag.js) - Google Analytics