利用XML文件存储数据,并自制XMLUtils进行解析

来源:互联网 发布:南风知我意番外 编辑:程序博客网 时间:2024/05/17 21:53

自定义xml格式数据

<!--    假设场景    我要同时向多张表更新数据,每张表只更新一部分字段    这时可以把表名,需要更新的字段名写在xml文件中    要用到时通过xml解析取出来使用--><tables>    <table>        <tablename>Teacher</tablename>        <update>            <id>tid</id>            <column>name,age</column>        </update>    </table>    <table>        <tablename>Student</tablename>        <update>            <id>sid</id>            <column>sex,age</column>        </update>    </table>    ......</tables>

自定义一个实体类,以便封装出来的属性

Class XmlPojo{    String tableName;    List columns;}

XML解析工具类

导入dom4j的jar包
public List<XmlPojo> load(String xmlName){    List<XmlPojo> list = new ArrayList<XmlPojo>();    try{        //  关于this.getClass.getResource():        //  ("")无值,为全路径,例如web-info/classes/com/zhuo....        //  ("/")有值,为指定路径,如web-info/classes/        //  ("/table")有值,为指定路径,如web-info/classes/table        URL url = this.getClass.getResource("/table");        File file = null;        if(url != null){            file  = new File(url .getPath());        }        //获取整个文档的对象(包含一切标签及值)        Document document = SAXReader().read(file+"\\"+xml);        //获取最顶级的标签:tables        Element root = dom .getRootElement();        //利用root来生成指定标签的迭代器,指定迭代table标签        Iterator it = root.elementIterator("table");        ele.elementsText("tablename") 获得指定标签的值        ele.element("update").elementText("id") 获得下一级的下一级标签id的值    }catch(Exception e){    }    return list;}
阅读全文
0 0
原创粉丝点击