java怎么把解析的xml数据添加到数据库中

java怎么把解析的xml数据添加到数据库中,第1张

不说废话直接上代码,下面是要读取的xml文件:

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

<PERSON>

  <NAME>a1</NAME>

  <ADDRESS>b1</ADDRESS>

  <TEL>c1</TEL>

  <FAX>d1</FAX>

  <EMAIL>e1</EMAIL>

</PERSON>

下面是读取xml文件的java代码,在数据库中建一张和xml文件字段对应的表,将读取的数据插入到表中。如果数据插入不会,欢迎继续追问:

import java.io.File

import javax.xml.parsers.DocumentBuilder

import javax.xml.parsers.DocumentBuilderFactory

import org.w3c.dom.Document

import org.w3c.dom.Element

import org.w3c.dom.NodeList

public class Test {

public static void main(String[] args) throws Exception{

System.out.println("22")

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance()

DocumentBuilder db = dbf.newDocumentBuilder()

Document document = db.parse(new File("candidate.xml"))

NodeList list = document.getElementsByTagName("PERSON")

for(int i = 0 i < list.getLength() i++)

{

Element element = (Element)list.item(i)

String content = element.getElementsByTagName("NAME").item(0).getFirstChild().getNodeValue()

            content = element.getElementsByTagName("ADDRESS").item(0).getFirstChild().getNodeValue()

            content = element.getElementsByTagName("TEL").item(0).getFirstChild().getNodeValue()

            content = element.getElementsByTagName("FAX").item(0).getFirstChild().getNodeValue()

            content = element.getElementsByTagName("EMAIL").item(0).getFirstChild().getNodeValue()

        }

    }

}

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插入到数据库就好了啊。主要数据库事务处理或用批处理

之一,在XML文档的DOM(文档对象模型)

被解析版本定义了一组接口。解析器读取整个文档,然后建立一个内存树结构,那么代码可以使用DOM接口来 *** 作树结构。

优势:在内存中的整个文档树, *** 作方便支持删除,,重新排列等功能

缺点:整个文档到内存(包括未使用的节点),浪费了时间和空间

使用:一旦解决多次访问这些数据所需的文件

足够的硬件资源(内存,CPU)

二,SAX

DOM来解决问题,出现了SAX。

SAX,事件驱动。当解析器发现元素的开始和结束元素,文本,如开始或文档的末尾,发送事件,程序员编写代码来响应这些事件,保存数据。

优点:无需事先转移,占用资源少,整个文件

SAX解析器代码比DOM解析器代码小,适合小程序,下载

缺点:不是持久的在事件发生后,如果没有保存数据时,数据被丢失

无状态只能从事件文本,但我不知道该文本元素的哪一部分

场合:小程序只有少量的内容

XML文档几回访问的

较少的内存的机器

3,JDOM

降低DOM的,编码的SAX量,出现了JDOM

优点:20-80原则,极大地减少了代码

使用量:为了实现简单的功能,如分析,创作等,但在底部,JDOM或使用SAX(最常见),DOM ,Xanan

4,JAXP

提供多个XML解析器一个统一的编程接口

更换解析器,而无需更改代码

使用:如果没有JDOM中,一般建议使用JAPX,代码的实现细节与各种解析器隔离。点击看详细的Java XML *** 作应该是最常用的开源包JDOM,


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存