java xml dom4j 创建 修改 解析
2017-04-03 13:49
453 查看
注:需要dom4j的jar包
package dom.parse;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class Dom4jTest {
public static void main(String[] args) throws IOException, DocumentException {
String fileName ="src/dom/parse/dom4j.xml";
//createXml(fileName);
//modifyXml(fileName);
parseXml(fileName);
}
private static void parseXml(String fileName) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read(fileName);
List<Book> bookList = new ArrayList<Book>();
Book book = new Book();
Element root = document.getRootElement();
for (Iterator books = root.elementIterator(); books.hasNext();) {
Element bookElement = (Element) books.next();
String bookId=bookElement.attributeValue("bookId");
Element shumingE=bookElement.element("shuming");
String shuming=shumingE.getText();
String shumingId=null;
if(shumingE.attributes() != null)
{
shumingId=shumingE.attributeValue("shumingId");
book.setShumingId(shumingId);
}
String zuozhe=bookElement.element("zuozhe").getText();
String shoujia=bookElement.element("shoujia").getText();
book.setBookId(bookId);
book.setShuming(shuming);
book.setZuozhe(zuozhe);
book.setShoujia(shoujia);
bookList.add(book);
}
System.out.println(bookList);
}
private static void modifyXml(String fileName) throws DocumentException, IOException {
SAXReader reader =new SAXReader();
Document document = reader.read(fileName);
Element root = document.getRootElement();
Element book =(Element) root.elements("shu").get(1);
String bookValue =book.attributeValue("bookId");
System.out.println(bookValue);
String value = book.element("shuming").getText();
System.out.println(value);
String attrValue =book.element("shuming").attribute("shumingId").getValue();
System.out.println(attrValue);
Element book1 =(Element) root.elements("shu").get(0);
book1.addElement("shoujia").setText("duiwaimai209");
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(new FileWriter(fileName),format);
writer.write(document);
writer.close();
}
public static void createXml(String fileName) throws IOException {
Document document = DocumentHelper.createDocument();
Element root = document.addElement("shujia");
Element book1=root.addElement("shu");
book1.addElement("shuming").setText("zhangxiaoxiangjava");
book1.addElement("zuozhe").setText("zhangxiaoxiang");
book1.addElement("shoujia").setText("109");
book1.addAttribute("bookId","1").addAttribute("baozhuang","jingzhuang");
Element book2=root.addElement("shu");
book2.addElement("shuming").setText("weigejava");
book2.addElement("zuozhe").setText("weige");
book2.addElement("shoujia").setText("79");
book2.addAttribute("bookId","2");
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(new FileWriter(fileName),format);
writer.write(document);
writer.close();
}
}
注:需要dom4j的jar包
package dom.parse;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class Dom4jTest {
public static void main(String[] args) throws IOException, DocumentException {
String fileName ="src/dom/parse/dom4j.xml";
//createXml(fileName);
//modifyXml(fileName);
parseXml(fileName);
}
private static void parseXml(String fileName) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read(fileName);
List<Book> bookList = new ArrayList<Book>();
Book book = new Book();
Element root = document.getRootElement();
for (Iterator books = root.elementIterator(); books.hasNext();) {
Element bookElement = (Element) books.next();
String bookId=bookElement.attributeValue("bookId");
Element shumingE=bookElement.element("shuming");
String shuming=shumingE.getText();
String shumingId=null;
if(shumingE.attributes() != null)
{
shumingId=shumingE.attributeValue("shumingId");
book.setShumingId(shumingId);
}
String zuozhe=bookElement.element("zuozhe").getText();
String shoujia=bookElement.element("shoujia").getText();
book.setBookId(bookId);
book.setShuming(shuming);
book.setZuozhe(zuozhe);
book.setShoujia(shoujia);
bookList.add(book);
}
System.out.println(bookList);
}
private static void modifyXml(String fileName) throws DocumentException, IOException {
SAXReader reader =new SAXReader();
Document document = reader.read(fileName);
Element root = document.getRootElement();
Element book =(Element) root.elements("shu").get(1);
String bookValue =book.attributeValue("bookId");
System.out.println(bookValue);
String value = book.element("shuming").getText();
System.out.println(value);
String attrValue =book.element("shuming").attribute("shumingId").getValue();
System.out.println(attrValue);
Element book1 =(Element) root.elements("shu").get(0);
book1.addElement("shoujia").setText("duiwaimai209");
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(new FileWriter(fileName),format);
writer.write(document);
writer.close();
}
public static void createXml(String fileName) throws IOException {
Document document = DocumentHelper.createDocument();
Element root = document.addElement("shujia");
Element book1=root.addElement("shu");
book1.addElement("shuming").setText("zhangxiaoxiangjava");
book1.addElement("zuozhe").setText("zhangxiaoxiang");
book1.addElement("shoujia").setText("109");
book1.addAttribute("bookId","1").addAttribute("baozhuang","jingzhuang");
Element book2=root.addElement("shu");
book2.addElement("shuming").setText("weigejava");
book2.addElement("zuozhe").setText("weige");
book2.addElement("shoujia").setText("79");
book2.addAttribute("bookId","2");
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(new FileWriter(fileName),format);
writer.write(document);
writer.close();
}
}
相关文章推荐
- java中利用dom4j对XML文档的创建、解析、查找、修改、保存等操作。
- java中利用dom4j对XML文档的创建、解析、查找、修改、保存等操作。
- java xml jdom创建 修改 解析
- Java中使用DOM方式解析和创建XML文档、及dom4j使用简介
- Java xml 操作(Dom4J修改xml   + xPath技术  + SAX解析 + XML约束)
- Dom4jApp.java 解析和创建XML
- Java xml 操作(Dom4J修改xml   + xPath技术  + SAX解析 + XML约束)
- Java xml 操作(Dom4J修改xml   + xPath技术  + SAX解析 + XML约束)
- java解析XML的第一步——导入dom4j和jaxen包
- 使用Dom4j创建与解析XML文件
- 黑马程序员_王康 java利用DOM4J解析XML文件
- 用dom4j解析xml 报java.lang.NoClassDefFoundError:org/jaxen/JaxenException
- java 使用 dom4j 解析 XML
- 使用 dom4j 创建 修改 XML
- java 使用 dom4j 解析 XML
- Java程序员从笨鸟到菜鸟之(二十七)XML之Jdom和DOM4J解析 .
- java 解析/操作 xml 几种常用方式 xml的增加/删除/修改
- [转]java解析xml之一 Dom4j
- java 中dom4j 解析xml文档
- java使用dom4j和XPath解析XML与.net 操作XML小结