Java使用DOM4j实现读写XML文件的属性和元素
DOM4可以读取和添加XML文件的属性或者元素
读取属性:
publicstaticvoidReadAttributes()throwsDocumentException{ Filefile=newFile("D:\\cmz\\java\\XMLTest\\Customertest.xml"); SAXReaderreader=newSAXReader(); Documentdoc=reader.read(file); Elementroot=doc.getRootElement(); try{ for(Iteratoriterator=root.elementIterator();iterator.hasNext();){ Elementelement=(Element)iterator.next(); StringCustomerID=element.attributeValue("CustomerID"); System.out.println("CustomerID="+CustomerID); StringCompanyName=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(Exceptione){ //TODO:handleexception } }
读取元素:
publicstaticvoidReadInnerTest()throwsDocumentException{ Filefile=newFile("D:\\cmz\\java\\XMLTest\\Customer1.xml"); SAXReaderreader=newSAXReader(); Documentdoc=reader.read(file); Elementroot=doc.getRootElement(); try{ for(Iteratoriterator=root.elementIterator();iterator.hasNext();){ Elementtype=(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(Exceptione){ //TODO:handleexception } }
写入属性:
publicstaticvoidWriteAttributes(){ Documentdoc=DocumentHelper.createDocument(); Elementele=doc.addElement("table"); for(inti=1;i<5;i++){ ElementCustomers=ele.addElement("Customers"); Customers.addAttribute("CustomerID","ALFKI"+i); Customers.addAttribute("CompanyName","AlfredsFutterkiste"+i); Customers.addAttribute("ContactName","MariaAnders"+i); Customers.addAttribute("ContactTitle","SalesRepresentative"+i); Customers.addAttribute("Address","ObereStr.57"); Customers.addAttribute("City","beijin"); Customers.addAttribute("PostalCode","12209"); Customers.addAttribute("Country","Germany"); Customers.addAttribute("Phone","030-0074321"); Customers.addAttribute("Fax","030-0076545"); try{ XMLWriterwriter=newXMLWriter(newFileWriter(newFile( "Customertest.xml"))); writer.write(doc); writer.close(); }catch(Exceptione){ //TODO:handleexception } } }
写出元素:
publicstaticvoidwriteInnerTest(){ Documentdoc=DocumentHelper.createDocument(); Elementele=doc.addElement("table"); for(inti=1;i<5;i++){ ElementCustomers=ele.addElement("row"); ElementCustomerID=ele.addElement("CustomerID"); CustomerID.setText("ALFKI"+i); ElementCompanyName=ele.addElement("CompanyName"); CompanyName.setText("AlfredsFutterkiste"+i); ElementContactName=ele.addElement("ContactName"); ContactName.setText("MariaAnders"+i); ElementContactTitle=ele.addElement("ContactTitle"); ContactTitle.setText("SalesRepresentative"+i); ElementAddress=ele.addElement("Address"); Address.setText("ObereStr.57"); ElementCity=ele.addElement("City"); City.setText("beijin"); ElementPostalCode=ele.addElement("PostalCode"); PostalCode.setText("12209"); ElementCountry=ele.addElement("Country"); Country.setText("Germany"); ElementPhone=ele.addElement("Phone"); Phone.setText("030-0074321"); ElementFax=ele.addElement("Fax"); Fax.setText("030-0076545"); } try{ XMLWriterwriter=newXMLWriter(newFileWriter(newFile( "Customertest2.xml"))); writer.write(doc); writer.close(); }catch(Exceptione){ //TODO:handleexception } }
可以修改属性的文本内容:
publicstaticvoidReadUpdateattribute()throwsDocumentException{ Filefile=newFile("D:\\cmz\\java\\XMLTest\\Customertest.xml"); SAXReaderreader=newSAXReader(); Documentdoc=reader.read(file); Elementroot=doc.getRootElement(); try{ for(Iteratoriterator=root.elementIterator("Customers");iterator.hasNext();){ Elementelement=(Element)iterator.next(); Stringname="ALFKI1"; if(name.equals(element.attributeValue("CustomerID"))){ Attributeattr=element.attribute("CustomerID"); attr.setValue("234"); ElementContactName=element.addElement("23424"); ContactName.setText("676767"); } } XMLWriterwriter=newXMLWriter(newFileOutputStream(file)); writer.write(doc); ReadAttributes(); }catch(Exceptione){ //TODO:handleexception } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。