欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

dom4j操作xml,dom4jxml,static Strin

来源: javaer 分享于  点击 3199 次 点评:15

dom4j操作xml,dom4jxml,static Strin


static String xmlPath= "xmlFile.xml";    public static void createXML() {//完成基本的xml要素的生成,以及最后xml文件的存储        Document doc= DocumentHelper.createDocument();        Element root= doc.addElement("root");        setBeanValue(root);        try {            FileOutputStream output= new FileOutputStream(xmlPath);//也可以通过writer来添加但是注意乱麻问题要            XMLWriter xWriter= new XMLWriter(output, OutputFormat.createPrettyPrint());//对xml文件进行格式化            xWriter.write(doc);            output.flush();            xWriter.flush();            output.close();            xWriter.close();        } catch (IOException e) {            e.printStackTrace();        }    }    public static void setBeanValue(Node parentNode) {//对具体的节点的生成        Person[] persons= new Person[3];                for(int i= 0; i< persons.length; i++) {            persons[i]= new Person();            persons[i].setAge(i+"");            persons[i].setSex("男");        }        Element personsNode= ((Element)parentNode).addElement("persons");        for(int i= 0;i< 3; i++) {            Element person = personsNode.addElement("person");            Element age= person.addElement("age");            Element sex= person.addElement("sex");            setXMLValue(age, persons[i]);            setXMLValue(sex, persons[i]);        }    }    public static void setXMLValue(Node nodeName, Object obj) {//通过反射获取具体的属性值         Class<Person> classType= (Class<Person>) obj.getClass();        try {            Field filed= classType.getDeclaredField(nodeName.getName());            filed.setAccessible(true);            nodeName.setText(filed.get(obj)+"");        } catch (IllegalAccessException e) {            e.printStackTrace();        } catch (SecurityException e) {            e.printStackTrace();        } catch (NoSuchFieldException e) {            e.printStackTrace();        }    }    public static void parserXML() {        SAXReader reader= new SAXReader();        try {            InputStream input= new FileInputStream(xmlPath);            Document doc= reader.read(input);             Element root= doc.getRootElement();            Iterator<Element> it= root.elementIterator();            while(it.hasNext()) {                Element element= it.next();                readNode(element);            }        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        } catch (DocumentException e) {            e.printStackTrace();        }    }    public static void readNode(Node node) {        Element element= (Element)node;//persons        Iterator<Element> childElement= element.elementIterator();        while(childElement.hasNext()) {//person            Element ele= childElement.next();//age sex            if(ele.elementIterator()!= null) {                if(!"".equals(ele.getText().trim())) {                    System.out.println(ele.getName()+"-->"+ele.getText().trim());                }                readNode(ele);            }        }    }    public static void main(String[] A) {        createXML();//生成xml        parserXML();//解析xml    }}//该片段来自于http://byrx.net
相关栏目:

用户点评