根据需要,需要将中国境内的省市区描述的xml文件根据省市区分出两层,分别为省描述文件和市描述文件。
package xml;
import java.io.File;
import java.io.FileOutputStream;
import java.util.Iterator;
import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4J {
public static Logger logger = Logger.getLogger(Dom4J.class);
public static void main(String[] args) throws Exception {
//读取省市关系描述文件
File file = new File("D:" + File.separator + "xml" + File.separator
+ "province_city.xml");
logger.info(file.length());
SAXReader reader = new SAXReader();
Document document = reader.read(file);
Element root = document.getRootElement();
Iterator iterator = root.elementIterator();
while (iterator.hasNext()) {
Element province = (Element) iterator.next();
logger.info(province.attributeValue("code") + ":"
+ province.attributeValue("value"));
File pfile = new File("D:" + File.separator + "xml"
+ file.separator + "file" + File.separator
+ "c"+province.attributeValue("code") + ".txt");
pfile.createNewFile();
//省描述文件输出流
FileOutputStream fos = new FileOutputStream(pfile);
StringBuffer sb = new StringBuffer("[");
Iterator cityIterator = province.elementIterator();
while (cityIterator.hasNext()) {
Element city = (Element) cityIterator.next();
logger.info(city.attributeValue("code") + ":"
+ city.attributeValue("value"));
sb.append("{\"text\":\"" + city.attributeValue("value")
+ "\",code:" + "\"" + city.attributeValue("code")
+ "\"},");
File cfile = new File("D:" + File.separator + "xml"
+ file.separator + "file" + File.separator
+ city.attributeValue("code") + ".txt");
cfile.createNewFile();
Iterator contryIterator = city.elementIterator();
StringBuffer citySb = new StringBuffer("[");
while (contryIterator.hasNext()) {
Element contry = (Element) contryIterator.next();
citySb.append("{\"text\":\""
+ contry.attributeValue("value") + "\",code:"
+ "\"" + contry.attributeValue("code") + "\"},");
logger.info(contry.attributeValue("code") + ":"
+ contry.attributeValue("value"));
}
//市描述文件输出流
FileOutputStream contryFos = new FileOutputStream(cfile);
contryFos
.write((citySb.substring(0, citySb.length() - 1) + "]")
.getBytes());
contryFos.close();
}
if (province.elements().size() > 0) {
fos.write((sb.substring(0, sb.length() - 1) + "]").getBytes());
fos.close();
}
}
}
}
分享到:
相关推荐
Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc
dom4j解析xml文件代码示例 dom4j解析xml文件代码示例 dom4j解析xml文件代码示例
dom4j是一种解析XML文档的开放源代码XML框架。本文介绍如何使用包含在dom4j中的解析器创建并修改XML文档。dom4j API包含一个解析XML文档的工具。本文中将使用这个解析器创建一个示例XML文档,然后使用同一个解析器...
Java使用sax、dom、dom4j解析xml文档的代码,包含dom4j的jar包。
dom4j解析XML文件格式dom4j解析XML文件格式dom4j解析XML文件格式
dom4j解析xml文件的压缩包,完整版。对jdom进行了封装。包含源码,jar包以及所需的全部内容。
1、xml文档解析 2、 dom4j解析xml 3、实现xml文件解析 xml字符串解析 xml MAP键值对解析 4、实现xml写入与生成文件
分别使用DOM和DOM4j解析XML文件,因为目前使用最广泛的是DOM4j所以只写了用DOM4j对XML进行增删改查。
dom4j解析XML文档.ppt
使用DOM4j技术快速解析XML文件,提高开发效率
完整的讲解一个dom4j对xml的增删改查
一个关于用dom4j解析xml,遍历xml,建立xml的简单例子
dom4j解析xml,连接oracle数据库实例
很详细的文档 可以借鉴下 希望对你有帮助
基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。
本人自己研究的解析方法,主要用dom4j解析XML文件,进而获取里面的信息
使用Dom4j解析XML文件的jar包.
dom4j解析xml,利用反射机制.将解析出来的信息保存到一个类当中
java dom4j 解析xml文档 使用java操作xml 例如创建 读取 删除 等等
使用dom4j对xml文档进行增删改. 查询就不用说了,使用elements(....)/element(...)/attributeValue()/getText()等方法