不说废话直接上代码,下面是要读取的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.Fileimport 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 test11import 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,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)