java jdom 类_JDOM常用类介绍及示例代码

JDOM因其简洁易用易懂的API而被广泛的使用。JDOM常用的核心类及它们间的关系如下图所示:

r_JDOM%20Core.jpg

Document代表了文档对象,抽象类Content表示文档中的内容元素,各种内容组成了文档对象。常用的内容元素有xml元素Element、xml注释Comment、文本Text。下面以如下片段来说明各类的含义。

徐辛波

developer

15029357227

02985457683

上述文档用Document来抽象;customers为文档的根元素(root element ),Element即一个封闭起来的元素,element元素可以有子元素,如15029357227是一个元素,而...也是一个元素,甚至...也是一个大元素;代表了xml中注释,注释在JDOM中用Comment类来抽象;Text代表了xml中的文本值,如元素属性的值、元素的值、注释的内容等,父元素的Text为子元素和值组成的串,使用Text类可以方便的表示一些特殊字符,如:

Element element = new Element("name");

Text text = new Text("AAA..");

element.addContent(text);

值得一提的是Element的方法addContent(Content content),因参数是抽象父类Content,所以可以添加Text、Element和Comment等,如果添加的是Text则自动作为element的文本值,如果是Element则作为element的子元素,如果是Comment则作为element的注释,使用十分方便。元素的值如徐辛波中的“徐辛波”也是一个和元素平行的Content对象(Text对象),当使用Element的getDescendants()方法时将返回一个该元素所有后代的迭代器,这些后代包括Element、Comment、Text等,如元素的后代包括email、mobile、fix-phone三个元素以及这三个元素的Text共6个后代,如果计算后代时有父子嵌套则应注意,父元素作为一个后代,其嵌套的子元素作为另一个后代。

刚才提到核心类都包含在org.jdom包下,jdom还包含了org.jdom.input和org.jdom.output两个包分别来处理xml内容的输入输出。当要读取xml资源时我们通常使用input包下的SAXBuilder类从输入流构建dom对象,当资源加载后常用的做法是在内存中缓存,这样后续的查找修改等操作就非常快。文档加载后内存的中各个元素是记录有各自的位置和关系的,即保持有上下文环境的。如果想要删除一段内容(Element Comment Text),只用调用该内容的detach方法即可,这样元素即和文档脱离关系了,再对文档进行遍历或者持久化到磁盘上时游离的元素就不可见了。Jdom的输出类包括XMLOutputter、DOMOutputter、SAXOutputter。最常用的是XMLOutputter,通过它可以将dom对象输出到指定的输出流,并且可以指定所输出xml文件的格式,比如缩进的样式等。DOMOutputter输出org.w3c.dom.Document对象,用于JDOM对象同w3c dom对象转换,SAXOutputter可以注册回调函数来处理相应的sax事件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值