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

 我来答
狮子座大发明家
2015-11-20 · 超过24用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:37.4万
展开全部

不说废话直接上代码,下面是要读取的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();
        }
    }
}
百度网友be29137
推荐于2016-06-19 · 超过17用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:22.3万
展开全部
java一种简单的解析xml方法是用DOM进行解析, dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。具体使用方法可以参照如下链接
http://blog.csdn.net/redarmy_chen/article/details/12969219
解析出来添加到数据库就不用说了,用什么框架肯定有相应操作数据库的方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
s121677896
2015-11-11 · TA获得超过261个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:74万
展开全部
java解析xml可以使用相应的jar包工具。如xstream,可以把xml类型的字符串映射为对应的对象,然后入库就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd周述兵
推荐于2018-03-01 · TA获得超过350个赞
知道答主
回答量:135
采纳率:0%
帮助的人:0
展开全部
楼主你可以 用 SAXParser,Document 解析XML 然后把得到的数据拼成sql语句插入 数据库就可以了
例如:public class ReaderXML extends DefaultHandler {
@Override
public void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException {
//qName节点名
//循环节点属性
String sql = null;
for (int i = 0; i < attributes.getLength(); i++){
attributes.getQName(i);//属性名
attributes.getValue(i);//属性值
sql = "insert into .....";//拼成sql 进行插入
//.....
}
}
}

//调用
ReaderXML r = new ReaderXML(); SAXParserFactory.newInstance().newSAXParser().parse(getClass().getResourceAsStream("data.xml"), r);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fylsh
2010-08-12 · TA获得超过950个赞
知道小有建树答主
回答量:1472
采纳率:0%
帮助的人:1031万
展开全部
取得数据库连接,获得要插入数据库的数据,然后和数据库交互即可完成。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式