Java使用DOM4j实现读写XML文件的属性和元素
程序员文章站
2024-03-03 23:45:40
dom4可以读取和添加xml文件的属性或者元素
读取属性:
public static void readattributes() throws documen...
dom4可以读取和添加xml文件的属性或者元素
读取属性:
public static void readattributes() throws documentexception { file file = new file("d:\\cmz\\java\\xmltest\\customertest.xml"); saxreader reader = new saxreader(); document doc = reader.read(file); element root = doc.getrootelement(); try { for (iterator iterator = root.elementiterator(); iterator.hasnext();) { element element = (element) iterator.next(); string customerid = element.attributevalue("customerid"); system.out.println("customerid = " + customerid); string companyname = element.attributevalue("companyname"); system.out.println("companyname = " + companyname); system.out.println("contactname = " + element.attributevalue("contactname")); system.out.println("contacttitle = " + element.attributevalue("contacttitle")); system.out.println("address = " + element.attributevalue("address")); system.out.println("city = " + element.attributevalue("cit阿y")); system.out.println("postalcode = " + element.attributevalue("postalcode")); system.out.println("country = " + element.attributevalue("country")); system.out .println("phone = " + element.attributevalue("phone")); system.out.println("fax = " + element.attributevalue("fax")); system.out .println("--------------------------------------------------------\t"); } } catch (exception e) { // todo: handle exception } }
读取元素:
public static void readinnertest() throws documentexception { file file = new file("d:\\cmz\\java\\xmltest\\customer1.xml"); saxreader reader = new saxreader(); document doc = reader.read(file); element root = doc.getrootelement(); try { for (iterator iterator = root.elementiterator(); iterator.hasnext();) { element type = (element) iterator.next(); system.out.println(type.elementtext("customerid")); system.out.println(type.elementtext("companyname")); system.out.println(type.elementtext("contactname")); system.out.println(type.elementtext("contacttitle")); system.out.println(type.elementtext("address")); system.out.println(type.elementtext("city")); system.out.println(type.elementtext("postalcode")); system.out.println(type.elementtext("country")); system.out.println(type.elementtext("phone")); system.out.println(type.elementtext("fax")); system.out.println("---------------------------------\t"); } } catch (exception e) { // todo: handle exception } }
写入属性:
public static void writeattributes() { document doc = documenthelper.createdocument(); element ele = doc.addelement("table"); for (int i = 1; i < 5; i++) { element customers = ele.addelement("customers"); customers.addattribute("customerid", "alfki" + i); customers.addattribute("companyname", "alfreds futterkiste" + i); customers.addattribute("contactname", "maria anders" + i); customers.addattribute("contacttitle", "sales representative" + i); customers.addattribute("address", "obere str. 57"); customers.addattribute("city", "beijin"); customers.addattribute("postalcode", "12209"); customers.addattribute("country", "germany"); customers.addattribute("phone", "030-0074321"); customers.addattribute("fax", "030-0076545"); try { xmlwriter writer = new xmlwriter(new filewriter(new file( "customertest.xml"))); writer.write(doc); writer.close(); } catch (exception e) { // todo: handle exception } } }
写出元素:
public static void writeinnertest(){ document doc = documenthelper.createdocument(); element ele = doc.addelement("table"); for (int i = 1; i < 5; i++) { element customers = ele.addelement("row"); element customerid = ele.addelement("customerid"); customerid.settext("alfki" + i); element companyname = ele.addelement("companyname"); companyname.settext("alfreds futterkiste" + i); element contactname = ele.addelement("contactname"); contactname.settext("maria anders" + i); element contacttitle = ele.addelement("contacttitle"); contacttitle.settext("sales representative" + i); element address = ele.addelement("address"); address.settext("obere str. 57"); element city = ele.addelement("city"); city.settext("beijin"); element postalcode = ele.addelement("postalcode"); postalcode.settext("12209"); element country = ele.addelement("country"); country.settext("germany"); element phone = ele.addelement("phone"); phone.settext("030-0074321"); element fax = ele.addelement("fax"); fax.settext("030-0076545"); } try { xmlwriter writer = new xmlwriter(new filewriter(new file( "customertest2.xml"))); writer.write(doc); writer.close(); } catch (exception e) { // todo: handle exception } }
可以修改属性的文本内容:
public static void readupdateattribute() throws documentexception{ file file = new file("d:\\cmz\\java\\xmltest\\customertest.xml"); saxreader reader = new saxreader(); document doc = reader.read(file); element root = doc.getrootelement(); try { for (iterator iterator = root.elementiterator("customers"); iterator.hasnext();) { element element = (element) iterator.next(); string name = "alfki1"; if (name.equals(element.attributevalue("customerid")) ) { attribute attr = element.attribute("customerid"); attr.setvalue("234"); element contactname = element.addelement("23424"); contactname.settext("676767" ); } } xmlwriter writer = new xmlwriter(new fileoutputstream(file)); writer.write(doc); readattributes(); } catch (exception e) { // todo: handle exception } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。