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
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。