您的位置:首页 > 编程语言 > Java开发

<<Think in Java 4 >>中关于使用XOM操作xml文件

2013-05-18 01:34 567 查看
xom类库位置http://www.xom.nu/

生成:

package xml;

// Use the XOM library to write and read XML

// {Requires: nu.xom.Node; You must install

// the XOM library from http://www.xom.nu }

import nu.xom.*;

import java.io.*;

import java.util.*;

public class Person {

  private String first, last;

  public Person(String first, String last) {

    this.first = first;

    this.last = last;

  }

  // Produce an XML Element from this Person object:

  public Element getXML() {

    Element person = new Element("person");

    Element firstName = new Element("first");

    firstName.appendChild(first);

    Element lastName = new Element("last");

    lastName.appendChild(last);

    person.appendChild(firstName);

    person.appendChild(lastName);

    return person;

  }

  // Constructor to restore a Person from an XML Element:

  public Person(Element person) {

    first= person.getFirstChildElement("first").getValue();

    last = person.getFirstChildElement("last").getValue();

  }

  public String toString() { return first + " " + last; }

  // Make it human-readable:

  public static void

  format(OutputStream os, Document doc) throws Exception {

    Serializer serializer= new Serializer(os,"ISO-8859-1");

    serializer.setIndent(4);

    serializer.setMaxLength(60);

    serializer.write(doc);

    serializer.flush();

  }

  public static void main(String[] args) throws Exception {

    List<Person> people = Arrays.asList(

      new Person("Dr. Bunsen", "Honeydew"),

      new Person("Gonzo", "The Great"),

      new Person("Phillip J.", "Fry"));

    System.out.println(people);

    Element root = new Element("people");

    for(Person p : people)

      root.appendChild(p.getXML());

    Document doc = new Document(root);

    format(System.out, doc);

    format(new BufferedOutputStream(new FileOutputStream(

      "People.xml")), doc);

  }



处理

package xml;

// {Requires: nu.xom.Node; You must install

// the XOM library from http://www.xom.nu }

// {RunFirst: Person}

import java.io
4000
.File;

import java.util.ArrayList;

import nu.xom.Builder;

import nu.xom.Document;

import nu.xom.Elements;

public class People extends ArrayList<Person> {

  public People(String fileName) throws Exception  {

    Document doc = new Builder().build(new File(fileName));

    Elements elements =

      doc.getRootElement().getChildElements();

    for(int i = 0; i < elements.size(); i++)

      add(new Person(elements.get(i)));

  }

  public static void main(String[] args) throws Exception {

    People p = new People("People.xml");

    System.out.println(p);

  }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  xom xml XML