使用dom4j来解析,生成xml文件
2010-09-19 15:24
525 查看
使用代码之前,要有dom4j的jar文件,自行下载。
//代码中path是xml文件的绝对路径
//如果,已经有了一个xml文件,并且要往这个xml文件添加数据就是用
//addDataToXML()这个方法。
public voidaddDataToXML() throws DocumentException{
SAXReaderreader = new SAXReader();
Documentdocument = reader.read(new File(path));//从现有的xml文件中读取内容
Elementroot = document.getRootElement(); //读取根节点
this.addData(root,document); //添加数据
}
//如果,硬盘上没有xml文件,就是用这个方法创建xml
public void generateXML(){
Documentdocument = DocumentHelper.createDocument();
//创建xml内容
Elementroot = document.addElement("root"); //添加节点
this.addData(root,document);
}
//添加数据
publicvoid addData(Element root,Document document){
ElementdataElement = root.addElement("data");
dataElement.addComment("在
" + this.getCurrentDate() + " 生成的错误URL列表");
//添加注释
for(Stringstring : this.list){
ElementbadUrl = dataElement.addElement("badURLId");
badUrl.addText(string);
}
try {
Filefile = new File(path);
FileOutputStreamfStream = new FileOutputStream(file);
OutputFormatformat = OutputFormat.createPrettyPrint();
//xml输出样式
format.setEncoding("GBK");
XMLWriterwriter = new XMLWriter(fStream,format);
输出xml内容,并创建xml
writer.write(document);
writer.close();
} catch(IOException e) {
e.printStackTrace();
}
}
下面是解析xml格式字符串信息(以流的形式从网上获取xml内容并将其转换成字符串时使用此方法解析)
public List<Long> analyXMLProductString(String dataString){
Document document = null;
try {
document = DocumentHelper.parseText(dataString);
} catch (DocumentException e) {
e.printStackTrace();
return productIDList;
}
return readXMLDocument(document);
}//end analyDataMapUrls
public List<Long> readXMLDocument(Document document) {
Element root = document.getRootElement();
List<Long> productIDList = new ArrayList<Long>();
for (Iterator productID = root.elementIterator("productID"); productID
.hasNext();) {
Element foo = (Element) productID.next();
String id = foo.getTextTrim();
if (id != null && id != "") {
productIDList.add(Long.parseLong(id));
}
}// end for
return productIDList;
}// end readXMLDocument
其他的以后再补充。
参考资料:
http://gloryme.javaeye.com/blog/137613
//代码中path是xml文件的绝对路径
//如果,已经有了一个xml文件,并且要往这个xml文件添加数据就是用
//addDataToXML()这个方法。
public voidaddDataToXML() throws DocumentException{
SAXReaderreader = new SAXReader();
Documentdocument = reader.read(new File(path));//从现有的xml文件中读取内容
Elementroot = document.getRootElement(); //读取根节点
this.addData(root,document); //添加数据
}
//如果,硬盘上没有xml文件,就是用这个方法创建xml
public void generateXML(){
Documentdocument = DocumentHelper.createDocument();
//创建xml内容
Elementroot = document.addElement("root"); //添加节点
this.addData(root,document);
}
//添加数据
publicvoid addData(Element root,Document document){
ElementdataElement = root.addElement("data");
dataElement.addComment("在
" + this.getCurrentDate() + " 生成的错误URL列表");
//添加注释
for(Stringstring : this.list){
ElementbadUrl = dataElement.addElement("badURLId");
badUrl.addText(string);
}
try {
Filefile = new File(path);
FileOutputStreamfStream = new FileOutputStream(file);
OutputFormatformat = OutputFormat.createPrettyPrint();
//xml输出样式
format.setEncoding("GBK");
XMLWriterwriter = new XMLWriter(fStream,format);
输出xml内容,并创建xml
writer.write(document);
writer.close();
} catch(IOException e) {
e.printStackTrace();
}
}
下面是解析xml格式字符串信息(以流的形式从网上获取xml内容并将其转换成字符串时使用此方法解析)
public List<Long> analyXMLProductString(String dataString){
Document document = null;
try {
document = DocumentHelper.parseText(dataString);
} catch (DocumentException e) {
e.printStackTrace();
return productIDList;
}
return readXMLDocument(document);
}//end analyDataMapUrls
public List<Long> readXMLDocument(Document document) {
Element root = document.getRootElement();
List<Long> productIDList = new ArrayList<Long>();
for (Iterator productID = root.elementIterator("productID"); productID
.hasNext();) {
Element foo = (Element) productID.next();
String id = foo.getTextTrim();
if (id != null && id != "") {
productIDList.add(Long.parseLong(id));
}
}// end for
return productIDList;
}// end readXMLDocument
其他的以后再补充。
参考资料:
http://gloryme.javaeye.com/blog/137613
相关文章推荐
- 在Java中使用dom4j来解析及生成xml文件
- javaWEB项目中使用XSLT解析生成的XML文件
- java使用dom4j解析xml文件
- 使用dom4j生成xml字符串,以及解析xml字符串
- Dom4j解析、生成XML文件
- java使用dom4j解析xml配置文件实现抽象工厂反射示例
- 使用lib 4000 xml2库来生成和解析xml文件
- 使用Dom4j创建与解析XML文件
- Android使用PULL解析和生成XML文件
- dom4j生成和解析xml文件
- 使用Dom生成xml文件和解析xml文件
- 使用dom4j从XML配置文件中生成菜单(二)
- 使用XStream解析和生成xml文件
- 使用POI和dom4j来解析Excel生成Xml
- 使用Dom4j生成XML文件
- 用dom4j的方式解析和生成xml文件
- Android-使用DOM解析与生成XML文件
- dom4j 解析、修改、生成XML 文件
- 使用Pull解析器生成和解析XML文件
- dom4j 生成并解析xml文件