对xml的处理_Dom4j入门六
2012-10-19 16:32
239 查看
以下介绍Dom4j的环境是:windowsXP、eclipse3.5.0、jdk1.6、Dom4j1.6.1.jar
Dom4j1.6.1.jar架包可以在本人的资源中下载,欢迎下载使用
需求:通过xml的最底层标签名称创建表,并将xml标签中的内容写入到数据库中
现在主要是:获取创建表的语句和插入数据的语句
public static void analyticalXML(String xmlpath){
SAXReader readerxml=new SAXReader();
Document doc=null;
try {//读取一个形式良好的xml文件形成一个document对象
doc=readerxml.read(new File(xmlpath));//"C:/doc.xml"
Element root=doc.getRootElement();//获取该对象的根节点
getchildElement(doc,root);
} catch (DocumentException e) {
e.printStackTrace();
}
}
//递归获取子节点
public static void getchildElement(Document doc,Element elementa){
String createsql = "create table student(";
String insertsql = "insert into student(";
String valuessql = "values(";
//所有最底层的标签(建表字段)都在一个标签下面
for(Iterator it=elementa.elementIterator();it.hasNext();){
Element child=(Element) it.next();//获取子节点
List attributes = new ArrayList();
attributes = child.attributes();
Iterator itchild = child.elementIterator();
if(!itchild.hasNext()&&attributes.size()<1){//是需要的最底层节点
createsql += child.getName() + " varchar(10) ,";
insertsql += child.getName() + ",";
if(child.getText().length()>0){
valuessql += child.getText() + ",";
}else{
valuessql += "''" + ",";
}
}else {
getchildElement(doc,child);//不是最底层节点,则递归获取下一层子节点
}
}
createsql = createsql.substring(0,createsql.length()-1) + ")";
insertsql = insertsql.substring(0,insertsql.length()-1) + ")";
valuessql = valuessql.substring(0,valuessql.length()-1) + ")";
if(createsql.length()>50){//如果建表语句createsql是完整的,那么其长度肯定大于50
System.out.println();
System.out.println(createsql);//打印建表语句
System.out.println(insertsql + valuessql);//打印插入语句
}
}
Dom4j1.6.1.jar架包可以在本人的资源中下载,欢迎下载使用
需求:通过xml的最底层标签名称创建表,并将xml标签中的内容写入到数据库中
现在主要是:获取创建表的语句和插入数据的语句
public static void analyticalXML(String xmlpath){
SAXReader readerxml=new SAXReader();
Document doc=null;
try {//读取一个形式良好的xml文件形成一个document对象
doc=readerxml.read(new File(xmlpath));//"C:/doc.xml"
Element root=doc.getRootElement();//获取该对象的根节点
getchildElement(doc,root);
} catch (DocumentException e) {
e.printStackTrace();
}
}
//递归获取子节点
public static void getchildElement(Document doc,Element elementa){
String createsql = "create table student(";
String insertsql = "insert into student(";
String valuessql = "values(";
//所有最底层的标签(建表字段)都在一个标签下面
for(Iterator it=elementa.elementIterator();it.hasNext();){
Element child=(Element) it.next();//获取子节点
List attributes = new ArrayList();
attributes = child.attributes();
Iterator itchild = child.elementIterator();
if(!itchild.hasNext()&&attributes.size()<1){//是需要的最底层节点
createsql += child.getName() + " varchar(10) ,";
insertsql += child.getName() + ",";
if(child.getText().length()>0){
valuessql += child.getText() + ",";
}else{
valuessql += "''" + ",";
}
}else {
getchildElement(doc,child);//不是最底层节点,则递归获取下一层子节点
}
}
createsql = createsql.substring(0,createsql.length()-1) + ")";
insertsql = insertsql.substring(0,insertsql.length()-1) + ")";
valuessql = valuessql.substring(0,valuessql.length()-1) + ")";
if(createsql.length()>50){//如果建表语句createsql是完整的,那么其长度肯定大于50
System.out.println();
System.out.println(createsql);//打印建表语句
System.out.println(insertsql + valuessql);//打印插入语句
}
}
相关文章推荐
- 对xml的处理_Dom4j入门_Dom4j与w3c之间的Document相互转换
- 对xml的处理_Dom4j入门二
- 对xml的处理_Dom4j入门三
- 对xml的处理_Dom4j入门四
- 对xml的处理_Dom4j入门五
- 对xml的处理_Dom4j入门一
- 对xml的处理_Dom4j入门_一个工具类
- dom4j处理java中xml还是很方便的
- xPath对xml文档的处理入门1
- xPath对xml文档的处理入门5
- dom4j处理xml_Schema
- dom4j解析和处理xml
- 使用XMLBeans处理XML数据和文档入门
- 使用dom4j遍历xml 文档快速入门
- SAX、 StAX、 DOM(dom4j优于jdom)处理XML
- xml总结(六)dom4j,xml处理技术比较
- Dom4j解析XML快速入门
- java 解析xml是使用dom4j空行以及中文乱码的处理
- 使用dom4j来处理xml文档
- java 在dom4j中,使用XPath处理XML(主要对命名空间的处理)