XML文档读取 并且创建一个person 将属性赋给person
2018-03-09 18:57
513 查看
package cn.dom4j; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class ReadXML { public static void readXML(){ //创建XML文档读取的dom4j对象 SAXReader reader = new SAXReader(); //创建输入流 FileInputStream in = null; try { in = new FileInputStream("src/person.xml"); //读取文档 返回文档对象 Document doc = reader.read(in); //获得根元素 Element root = doc.getRootElement(); //获得元素名称 String elementName = root.getName(); System.out.println(elementName); //获得root下的孩子元素 List<Element> eList = root.elements(); //遍历子元素 for(Element element :eList){ String elename = element.getName(); System.out.println(elename); //获取每一个子元素的属性 List<Attribute> aList = element.attributes(); //遍历子元素的属性 /** for(Attribute attr : aList){ //获得属性名字 String attrName = attr.getName(); //获得属性值 String attrVal = attr.getText(); //打印属性名字和属性值! System.out.println("属性名字:" + attrName + "属性值" + attrVal); } */ //根据属性名 获得属性对象 /*Attribute idattr = element.attribute("id"); Attribute genderattr = element.attribute("gender"); */ //知道属性名字 直接获取属性值 /*String attrValue = element.attributeValue("id"); System.out.println(attrValue); String attrGender = element.attributeValue("gender"); System.out.println(attrGender); */ } } catch (Exception e) { e.printStackTrace(); }finally{ if(in != null) try { if(in != null){ in.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static void readXML1(){ //创建XML文档读取的dom4j对象 SAXReader reader = new SAXReader(); //创建输入流 FileInputStream in = null; try { in = new FileInputStream("src/person.xml"); //读取文档 返回文档对象 Document doc = reader.read(in); //获得根元素 Element root = doc.getRootElement(); //获得元素名称 String elementName = root.getName(); System.out.println(elementName); //获得root下的孩子元素 List<Element> eList = root.elements(); //遍历子元素 for(Element element :eList){ //获得子元素person中的子元素 List<Element> eList1 = element.elements(); //循环person中所有的子元素 for(Element ele : eList1){ //获得person下子元素的名字 String eleName = ele.getName(); //获得person下子元素的值 String eleText = ele.getText(); System.out.println("元素名" + eleName + "值" + eleText); } } } catch (Exception e) { e.printStackTrace(); }finally{ if(in != null) try { if(in != null){ in.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } /* * 获取到XML中的所有内容,创建一个person类 并创建一个person对象,将元素的属性赋值 给person */ public static void readXML3(){ //创建XML文档读取的dom4j对象 SAXReader reader = new SAXReader(); //创建person的集合 List <person> pList = new ArrayList<person>(); //创建输入流 FileInputStream in = null; try { in = new FileInputStream("src/person.xml"); //读取文档 返回文档对象 Document doc = reader.read(in); //获得根元素 Element root = doc.getRootElement(); //获得元素名称 String elementName = root.getName(); //获得root下的孩子元素 List<Element> eList = root.elements(); //遍历子元素 for(Element element :eList){ //获取person元素的2个属性 String eleID = element.attributeValue("id"); String eleGender = element.attributeValue("gender"); person p = new person(); p.setGender(eleGender); p.setId(new Integer(eleID)); //根据名字来获取子元素的值 String nameText = element.element("name").getText(); String addressText = element.element("address").getText(); String ageText = element.element("age").getText(); p.setName(nameText); p.setAddress(addressText); p.setAge( new Integer (ageText)); //把person对象加入集合 pList.add(p); } System.out.println(pList); } catch (Exception e) { e.printStackTrace(); }finally{ if(in != null) try { if(in != null){ in.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
相关文章推荐
- 这是一个关于XML文档的操作管理器XMLHelper类,类中包括XML文档的创建,文档节点和属性的读取,添加,修改,删除的方法功能的实现
- XML解析器可以读取、更新、创建、操作一个XML文档
- c#来创建和读取xml文档
- 一个经过改良的XMLHelper(包含了序列化,反序列化,创建xml文件,读取节点,C#对象与xml文件的相互转换等等。)
- 艾伟_转载:C#来创建和读取XML文档
- C#来创建和读取XML文档
- C#来创建和读取XML文档
- net9:图片变成二进制流存入XML文档,从XML文档中读出图片以及从XML文档中读取并创建图片文件
- 编写一个文件,读取 src 下面day12包 下面的my.properties 文件,文件内容如下, className=day12.User 结合 IO、反射知识,完成 配置文件中对象的创建和方法调用。并编写方法,列举出 Student 类中所有的属性、
- C#来创建和读取XML文档
- [转]how to programatically access built-in properties of open xml word doc(如何读取open xml格式文档属性)
- C#来创建和读取XML文档
- 读取Xml文档的元素和属性
- C#来创建和读取XML文档
- C#来创建和读取XML文档
- jaxp dom-appendChild xml中某一个标签下创建 有内容无属性的标签
- XMLHelper类 源码(XML文档帮助类,静态方法,实现对XML文档的创建,及节点和属性的增、删、改、查)
- 创建一个book.xml文档,PHP通过DOM方式解析获得每本书的作者和书名
- 如何用VC++直接读取复合文档属性(如作者、公司、创建时间等)
- 快速创建一个servlet并且在web.xml配置和使用它