java 解析xml 并导入数据库dom4j.docx
- 文档编号:13389588
- 上传时间:2023-06-13
- 格式:DOCX
- 页数:28
- 大小:20.99KB
java 解析xml 并导入数据库dom4j.docx
《java 解析xml 并导入数据库dom4j.docx》由会员分享,可在线阅读,更多相关《java 解析xml 并导入数据库dom4j.docx(28页珍藏版)》请在冰点文库上搜索。
java解析xml并导入数据库dom4j
java解析xml并导入数据库(dom4j)
importjava.io.File;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.util.Iterator;
importjava.util.List;
importorg.dom4j.Document;
importorg.dom4j.Element;
importorg.dom4j.io.SAXReader;
publicclassTestXMLImport{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
Stringsql="insertintoT_XML(NUMERO,REPOSICION,NOMBRE,TURNOS)values(?
?
?
?
)";
Connectionconn=null;
PreparedStatementpstmt=null;
try{
conn=DbUtil.getConnection();
pstmt=conn.prepareStatement(sql);
Documentdoc=newSAXReader().read(newFile("D:
/share/JavaProjects/drp/test_xmlImport/xml/test01.XML"));
ListitemList=doc.selectNodes("/ACCESOS/item/SOCIO");
for(Iteratoriter=itemList.iterator();iter.hasNext();){
Elementel=(Element)iter.next();
Stringnumero=el.elementText("NUMERO");
Stringreposicion=el.elementText("REPOSICION");
Stringnombre=el.elementText("NOMBRE");
ListturnosList=el.elements("TURNOS");
StringBuffersbString=newStringBuffer();
for(Iteratoriter1=turnosList.iterator();iter1.hasNext();){
ElementturnosElt=(Element)iter1.next();
Stringlu=turnosElt.elementText("LU");
Stringma=turnosElt.elementText("MA");
Stringmi=turnosElt.elementText("MI");
Stringju=turnosElt.elementText("JU");
Stringvi=turnosElt.elementText("VI");
Stringsa=turnosElt.elementText("SA");
Stringdoo=turnosElt.elementText("DO");
sbString.append(lu+","+ma+","+mi+","+ju+","+vi+","+sa+","+doo);
}
pstmt.setString(1,numero);
pstmt.setString(2,reposicion);
pstmt.setString(3,nombre);
pstmt.setString(4,sbString.toString());
pstmt.addBatch();
}
pstmt.executeBatch();
System.out.println("将XML导入数据库成功!
");
}catch(Exceptione){
e.printStackTrace();
}finally{
DbUtil.close(pstmt);
DbUtil.close(conn);
}
}
}
---------------------------------------------------------------------------------------------------------------------------------
xmlversion="1.0"encoding="utf-8"?
>
1、
package myxml;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.apache.crimson.tree.*;
import org.xml.sax.SAXException;
import java.io.*;
public class DomParserDemo{
private Document doc;
public DomParserDemo() throws Exception{
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
String source="e:
/jhb1117/classes/xmldoc/candidate.xml";
doc=builder.parse(source);
}
public void showDocument() {
//get all
NodeList personList=doc.getElementsByTagName(XMLTagDir.NODE_PERSON); //"PERSON" 也可 ,本文中为数据词典
for(int i=0;i { Element person=(Element)personList.item(i); System.out.print(XMLTagDir.NODE_NAME+": "); System.out.println(getNodeValue(person,XMLTagDir.NODE_NAME)); System.out.print(XMLTagDir.NODE_ADDRESS+": "); System.out.println(getNodeValue(person,XMLTagDir.NODE_ADDRESS)); System.out.print(XMLTagDir.NODE_TEL+": "); System.out.println(getNodeValue(person,XMLTagDir.NODE_TEL)); System.out.print(XMLTagDir.NODE_FAX+": "); System.out.println(getNodeValue(person,XMLTagDir.NODE_FAX)); System.out.print(XMLTagDir.NODE_EMAIL+": "); System.out.println(getNodeValue(person,XMLTagDir.NODE_EMAIL)); System.out.println(); } } public String getNodeValue(Element person,String nodeName){ NodeList nameList=person.getElementsByTagName(nodeName); Element name=(Element)nameList.item(0); Text text=(Text)name.getFirstChild(); String value=text.getNodeValue(); return value; } public void saveDocument(String path) throws IOException { FileWriter fw=new FileWriter(path); XmlDocument xmldoc=(XmlDocument)doc; xmldoc.write(fw); fw.close(); } public static void main(String args[]){ try{ DomParserDemo doc=new DomParserDemo(); doc.showDocument(); // String path="e: /houjie/JavaAdvance/dist/xmldoc/parseOut.xml"; String path="e: /jhb1117/classes/xmldoc/jhbparseOut.xml"; doc.saveDocument(path); System.out.print("file saved"); }catch(Exception e){ e.printStackTrace(); } } } 2、 package myxml; import javax.xml.parsers.*; import org.w3c.dom.*; import org.apache.crimson.tree.*; import java.io.*; /** * Title:
*
Description:
*
Copyright:
Copyright (c) 2002
*
Company:
* @author xxy
* @version 1.0
*/
public class DomCreateDemo {
private Document doc;
public DomCreateDemo() throws Exception{
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
doc=builder.newDocument();
}
public void createDocument(){
if(doc==null) return;
Element peopleElement=doc.createElement(XMLTagDir.NODE_PEOPLE);
for(int i=1;i<=3;i++){
Element personElement=doc.createElement(XMLTagDir.NODE_PERSON);
personElement.setAttribute("PERSONID","E"+i);
//one person include several tags
Text text=null;
Element nameElement=doc.createElement(XMLTagDir.NODE_NAME);
text=doc.createTextNode("myName"+i);
nameElement.appendChild(text);
personElement.appendChild(nameElement);
Element addressElement=doc.createElement(XMLTagDir.NODE_ADDRESS);
text=doc.createTextNode("myAddress"+i);
addressElement.appendChild(text);
personElement.appendChild(addressElement);
Element telElement=doc.createElement(XMLTagDir.NODE_TEL);
text=doc.createTextNode("myTel"+i);
telElement.appendChild(text);
personElement.appendChild(telElement);
Element faxElement=doc.createElement(XMLTagDir.NODE_FAX);
text=doc.createTextNode("myFax"+i);
faxElement.appendChild(text);
personElement.appendChild(faxElement);
Element emailElement=doc.createElement(XMLTagDir.NODE_EMAIL);
text=doc.createTextNode("myEmail"+i);
emailElement.appendChild(text);
personElement.appendChild(emailElement);
peopleElement.appendChild(personElement);
}
doc.appendChild(peopleElement);
}
public void saveDocument(String path) throws IOException {
FileWriter fout=new FileWriter(path);
XmlDocument xmldoc=(XmlDocument)doc;
xmldoc.write(fout);
fout.close();
}
public static void main(String[] args) {
try{
DomCreateDemo doc = new DomCreateDemo();
doc.createDocument();
System.out.print("doc created");
String path="e:
/jhb1117/classes/xmldoc/jhbcreateOut.xml";
// String path="e:
/houjie/JavaAdvance/dist/xmldoc/createOut.xml";
doc.saveDocument(path);
System.out.print("file saved");
}catch(Exception e){
e.printStackTrace();
}
}
}
3、
package myxml;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.apache.crimson.tree.*;
import java.io.*;
/**
*
Title:
*
Description:
*
Copyright:
Copyright (c) 2002
*
Company:
* @author xxy
* @version 1.0
*/
public class DomCreateDemo {
private Document doc;
public DomCreateDemo() throws Exception{
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 解析xml 并导入数据库dom4j 解析 xml 导入 数据库 dom4j