dom4j

 

package one.test;

public class Person {

    private int id;
    private String name;

    public Person() {

    }

    public Person(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

 

package one.test;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.dom.DOMDocument;

public class Parser {
    public static void main(String[] args) {
        Person person = new Person(321, "cm");
        String stanze = convertObjectToStanza(person);
        System.out.println("stanze:" + stanze);

        person = convertStanzaToObject("<root><id>456</id><name>mc</name></root>");
        System.out.println("id:" + person.getId() + ", name:" + person.getName());
    }

    public static Person convertStanzaToObject(String stanza) {

        try {
            Person person = new Person();
            Document doc = DocumentHelper.parseText(stanza);
            Element root = doc.getRootElement();

            Element element = null;
            element = root.element("id");
            String id = element.getStringValue();
            person.setId(Integer.valueOf(id));

            element = root.element("name");
            String name = element.getStringValue();
            person.setName(name);

            return person;
        } catch (DocumentException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }

    public static String convertObjectToStanza(Person person) {
        Document document = new DOMDocument();
        Element root = document.addElement("root");

        Element element = null;
        element = root.addElement("id");
        element.setText(Integer.toString(person.getId()));

        element = root.addElement("name");
        element.setText(person.getName());

        return root.asXML();
    }
}

stanze:<root><id>321</id><name>cm</name></root>
id:456, name:mc

 

Android 读xml文件

public boolean readConfig(Context context) {
    Document document = null;
    InputStream is = null;
    try {
        is = context.getAssets().open("swing.xml");
        SAXReader reader = new SAXReader();
        document = reader.read(is);
        is.close();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    } finally {
        if (null != is) {
            try {
                is.close();
            } catch (IOException e) {
                Log.e(TAG, e.getMessage());
            }
        }
    }

    if (null == document) {
        Log.e(TAG, "document == null");
        return false;
    }

    Map<String, Parameter> parameterMap = parseConfig(document);
    //............
}

 

需要jar包  dom4j-1.6.1.jar

posted @ 2016-11-08 19:07  牧 天  阅读(204)  评论(0)    收藏  举报