2011年计算机二级考试JAVA知识点整理(74)

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

  TextText 定义XML 文本节点.

  VisitorVisitor 用于实现Visitor模式.

  XPathXPath 在分析一个字符串后会提供一个XPath 表达式

  看名字大致就知道它们的涵义如何了。

  要想弄懂这套接口,关键的是要明白接口的继承关系:

  o interface java.lang.Cloneable

  o interface org.dom4j.Node

  § interface org.dom4j.Attribute

  § interface org.dom4j.Branch

  § interface org.dom4j.Document

  § interface org.dom4j.Element

  § interface org.dom4j.CharacterData

  § interface org.dom4j.CDATA

  § interface org.dom4j.Comment

  § interface org.dom4j.Text

  § interface org.dom4j.DocumentType

  § interface org.dom4j.Entity

  § interface org.dom4j.ProcessingInstruction

  一目了然,很多事情都清楚了。大部分都是由Node继承来的。知道这些关系,将来写程序就不会出现ClassCastException了。

  下面给出一些例子(部分摘自DOM4J自带的文档),简单说一下如何使用。

  1. 读取并解析XML文档:

  读写XML文档主要依赖于org.dom4j.io包,其中提供DOMReader和SAXReader两类不同方式,而调用方式是一样的。这就是依靠接口的好处。

  // 从文件读取XML,输入文件名,返回XML文档

  public Document read(String fileName) throws MalformedURLException, DocumentException {

  SAXReader reader = new SAXReader();

  Document document = reader.read(new File(fileName));

  return document;

  }

  其中,reader的read方法是重载的,可以从InputStream, File, Url等多种不同的源来读取。得到的Document对象就带表了整个XML。

  根据本人自己的经验,读取的字符编码是按照XML文件头定义的编码来转换。如果遇到乱码问题,注意要把各处的编码名称保持一致即可。

  2. 取得Root节点

  读取后的第二步,就是得到Root节点。熟悉XML的人都知道,一切XML分析都是从Root元素开始的。

  public Element getRootElement(Document doc){

  return doc.getRootElement();

  }

  3. 遍历XML树

  DOM4J提供至少3种遍历节点的方法:

  1) 枚举(Iterator)

  // 枚举所有子节点

  for ( Iterator i = root.elementIterator(); i.hasNext(); ) {

  Element element = (Element) i.next();

  // do something

  }

  // 枚举名称为foo的节点

  for ( Iterator i = root.elementIterator(foo); i.hasNext();) {

  Element foo = (Element) i.next();

  // do something

  }

  // 枚举属性

  for ( Iterator i = root.attributeIterator(); i.hasNext(); ) {

  Attribute attribute = (Attribute) i.next();

  // do something

  }

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答