logo

您所在位置网站首页 > 海量文档  > 计算机 > Java

Digester解析XML问题.pdf 7页

本文档一共被下载: ,您可全文免费在线阅读后下载本文档。

  • 支付并下载
  • 收藏该文档
  • 百度一下本文档
  • 修改文档简介
全屏预览

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
特别说明: 下载前务必先预览,自己验证一下是不是你要下载的文档。
  • 上传作者 wnqwwy20(上传创作收益人)
  • 发布时间:2017-07-15
  • 需要金币180(10金币=人民币1元)
  • 浏览人气
  • 下载次数
  • 收藏次数
  • 文件大小:144.63 KB
下载过该文档的会员
Digester解析XML问题
你可能关注的文档:
Digester Digester DDiiggeesstteerr Digester 框架以模式(Pattern)和规则(Rule)为基础处理输入的XML。模 式必须与XML 元素匹配,包括其名字和在文档树内的位置。描述匹配模式的语 法类似于 XPath 匹配模式,例如:catalog 模式匹配顶层的<catalog>元素, catalog/book 模式匹配直接嵌套在<catalog>元素内的<book>元素(但不匹配文档 内其他位置的<book>元素)。 所有的模式都必须指定其完整名称——从根元素开始的完整路径。唯一的例 外是包含通配符(“*”)的模式,例如*/name 模式匹配XML 文档内任何位置的 <name>元素。但是根元素不必特别指出,因为所有的路径都是从根元素开始的 绝对路径。 当Digester 发现一个指定的模式,它就执行关联的任务。由此可见,Digester 框架显然与 SAX 解析器有着密切的关系(实际上,Digester 类实现了 org.xml.sax.ContentHandler,并维护着解析栈)。所有在Digester 中使用的规则必 须扩展 mons.digester.Rule,后者本身提供了一些类似于 SAX 的 ContentHandler 回调函数的方法。例如,当遇到匹配元素的开始标记和结束标记 时,begin()方法和end()方法将分别被调用。 一旦遇到匹配元素的内容,body()方法被调用;最后被调用的方法是finish(), 这个方法在匹配元素的结束标记处理完毕之后被调用,用来执行可能需要的事后 清理任务。然而,大多数时候我们不必关注这些方法,因为框架提供的标准规则 很可能已经提供了所有必需的功能。 要反配制一个文档,首先创建一个mons.digester.Digester 类的 实例,如果必要的话,进行一些配置操作,指定必需的模式和规则,最后向parse() 方法传递一个XML 文件的引用。下面的DigesterDriver 示范了这一处理过程(必 须在命令行上指定输入XML 文档的名称)。 Java 代码 1 import mons.digester.*; 2 import java.io.*; 3 import java.util.*; 4 5 public class DigesterDriver { 6 public static void main(String[] args) { 7 try{ 8 Digester digester =new Digester(); 9 digester.setValidating(false); 10 digester.addObjectCreate("catalog", Catalog.class); 11 digester.addObjectCreate("catalog/book", Book.class); 12 digester.addBeanPropertySetter("catalog/book/author", "author"); 13 digester.addBeanPropertySetter("catalog/book/title", "title"); 14 digester.addSetNext("catalog/book", "addBook"); 15 digester.addObjectCreate("catalog/magazine", Magazine.class); 16 digester.addBeanPropertySetter("catalog/magazine/name", "name"); 17 digester.addObjectCreate("catalog/magazine/article", Article.class); 18 digester.addSetPrope

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片

“原创力文档”前称为“文档投稿赚钱网”,本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。原创力文档是网络服务平台方,若您的权利被侵害,侵权客服QQ:3005833200 电话:19940600175 欢迎举报,上传者QQ群:784321556