在 JDOM 中,XML 元素就是 Element 的实例,XML 属性就是 Attribute 的实例,XML 文档本身就是 Document 的实例。 因为 JDOM 对象就是像 Document、Element 和 Attribute 这些类的直接实例,因此创建一个新 JDOM 对象就如在 Java 语言中使用 new 操作符一样容易。JDOM 的使用是直截了当的。 JDOM 使用标准的 Java 编码模式。只要有可能,它使用 Java new 操作符而不故弄玄虚使用复杂的工厂化模式,使对象操作即便对于初学用户也很方便。 本文分两步对JDOM的应用加以介绍:XML创建 和 XML解析一、XML文档创建 我们由零开始利用JDOM生成一个XML文档。最后的结果(样本文档)看起来象这样: kingwong 87654321 1.以 MyInfo 为根元素创建文档 Element rootElement = new Element("MyInfo");//所有的XML元素都是 Element 的实例。根元素也不例外:) Document myDocument = new Document(rootElement);//以根元素作为参数创建Document对象。一个Document只有一个根,即root元素。 2.给根元素添加属性 Attribute rootAttri = new Attribute("comment","introduce myself");//创建名为 commnet,值为 introduce myself 的属性。 rootElement.setAttribute(rootAttri);//将刚创建的属性添加到根元素。 这两行代码你也可以合成一行来写,象这样: rootElement.setAttribute(new Attribute("comment","introduce myself")); 或者 rootElement.setAttribute("comment","introduce myself"); 3.添加元素和子元素 JDOM里子元素是作为 content(内容)添加到父元素里面去的,所谓content就是类似上面样本文档中之间的东东,即kingwong。罗嗦了点是吧:) Element nameElement = new Element("name");//创建 name 元素 nameElement.addContent("kingwong");//将kingwong作为content添加到name元素 rootElement.addContent(nameElement);//将name元素作为content添加到根元素 这三行你也可以合为一句,象这样: rootElement.addContent((Content)(new Element("name").addContent("kingwong")));//因为addContent(Content child)方法返回的是一个Parent接口,而Element类同时继承了Content类和实现了Parent接口,所以我们把它造型成Content。 我们用同样的方法添加带属性的子元素 rootElement.addContent(new Element("sex").setAttribute("value","male"));//注意这里不需要转型,因为addAttribute(String name,String value)返回值就是一个 Element。 同样的,我们添加元素到根元素下,用法上一样,只是稍微复杂了一些: rootElement.addContent((Content)(new Element("contact").addContent((Content)(new Element("telephone").addContent("87654321"))))); 如果你对这种简写形式还不太习惯,你完全可以分步来做,就象本节刚开始的时候一样。事实上如果层次比较多,写成分步的形式更清晰些,也不容易出错。 4.删除子元素 这个操作比较简单: rootElement.removeChild("sex");//该方法返回一个布尔值 到目前为止,我们学习了一下JDOM文档生成操作。上面建立了一个样本文档,可是我们怎么知道对不对呢?因此需要输出来看一下。我们将JDOM生成的文档输出到控制台,使用 JDOM 的 XMLOutputter 类。 5. 将 JDOM 转化为 XML 文本 XMLOutputter xmlOut = new XMLOutputter(" ",true); 相关文章: 2022-01-25 2022-02-13 2021-12-31 2022-12-23 2021-08-05 2022-12-23 2021-10-02 2021-11-07