如何用java解析xml文档,然后将数据存到数据库里

如何用java解析xml文档,然后将数据存到数据库里,第1张

package test11

import javax.xml.parsers.*

import org.w3c.dom.*

import java.io.*

public class XMLUtil

{

//该方法用于从XML配置文件中提取具体类类名,并返回一个实例对象

public static Object getBean()

{

try

{

//创建文档对象

DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance()

DocumentBuilder builder = dFactory.newDocumentBuilder()

Document doc

doc = builder.parse(new File("config.xml"))

//获取包含类名的文本节点

NodeList nl = doc.getElementsByTagName("className")

Node classNode=nl.item(0).getFirstChild()

String cName=classNode.getNodeValue()

//通过类名生成实例对象并将其返回

Class c=Class.forName(cName)

Object obj=c.newInstance()

return obj

}

catch(Exception e)

{

e.printStackTrace()

return null

}

}

}

<?xml version="1.0"?>

<config>

<className>test11.CatAdapter</className>

</config>

然后你吧解析处理的值放到数组或LIST或其他的你能存放的对象中。再写SQL插入到数据库就好了啊。主要数据库事务处理或用批处理

实例:

holen.xml

<?xml version="1.0" encoding="UTF-8"?>

<books>

<!--This is a test for dom4j, holen, 2004.9.11-->

<book show="yes">

<title>Dom4j Tutorials</title>

</book>

<book show="yes">

<title>Lucene Studing</title>

</book>

<book show="no">

<title>Lucene in Action</title>

</book>

<owner>O'Reilly</owner>

</books>

建立一个XML文档:

/**

* 建立一个XML文档,文档名由输入属性决定

* @param filename 需建立的文件名

* @return 返回 *** 作结果, 0表失败, 1表成功

*/

public int createXMLFile(String filename){

/** 返回 *** 作结果, 0表失败, 1表成功 */

int returnValue = 0

/** 建立document对象 */

Document document = DocumentHelper.createDocument()

/** 建立XML文档的根books */

Element booksElement = document.addElement("books")

/** 加入一行注释 */

booksElement.addComment("This is a test for dom4j, holen, 2004.9.11")

/** 加入第一个book节点 */

Element bookElement = booksElement.addElement("book")

/** 加入show属性内容 */

bookElement.addAttribute("show","yes")

/** 加入title节点 */

Element titleElement = bookElement.addElement("title")

/** 为title设置内容 */

titleElement.setText("Dom4j Tutorials")

/** 类似的完成后两个book */

bookElement = booksElement.addElement("book")

bookElement.addAttribute("show","yes")

titleElement = bookElement.addElement("title")

titleElement.setText("Lucene Studing")

bookElement = booksElement.addElement("book")

bookElement.addAttribute("show","no")

titleElement = bookElement.addElement("title")

titleElement.setText("Lucene in Action")

/** 加入owner节点 */

Element ownerElement = booksElement.addElement("owner")

ownerElement.setText("O'Reilly")

try{

/** 将document中的内容写入文件中 */

XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)))

writer.write(document)

writer.close()

/** 执行成功,需返回1 */

returnValue = 1

}catch(Exception ex){

ex.printStackTrace()

}

return returnValue

}

说明:

Document document = DocumentHelper.createDocument()

通过这句定义一个XML文档对象。

Element booksElement = document.addElement("books")

通过这句定义一个XML元素,这里添加的是根节点。

Element有几个重要的方法:

l addComment:添加注释

l addAttribute:添加属性

l addElement:添加子元素


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9976468.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存