XML文件存入数据库

shixitong 2011-06-16 04:41:07
<?xml version="1.0" encoding="UTF-8"?> 
<user>
<name>张三</name>
<age>20</age>
<sex>男</sex>
<address>江苏省南京市鼓楼区</address>
</user>


比如上面是xml文件内容,我现在要把这些内容存入数据库中。
(是存入某个表的某个字段)
数据库中的表
id | content

把上面xml的内容存入content这个字段

最终我可以读取这条记录的content,然后解析xml展示(可能是表格的形式展现给用户看)。

大家有没有好的方法?谢谢
...全文
353 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fish8245 2011-06-16
  • 打赏
  • 举报
回复
顶了!!!~~~
Herves 2011-06-16
  • 打赏
  • 举报
回复
这是我的思路
//得到DOM解析器的工厂实例
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
try {
//从DOM工厂得到DOM解析器
DocumentBuilder db=dbf.newDocumentBuilder();
//解析XML文档,得到一个Document,即dom树
Document dot=db.parse("NewXml.xml");
//得到多有<user>节点的信息
NodeList stuList =dot.getElementsByTagName("user");
String value="";
for (int i = 0; i <stuList.getLength(); i++) {
Node stu=stuList.item(i);
for (Node node=stu.getFirstChild();node!=null;node=node.getNextSibling()) {
if (node.getNodeType()==Node.ELEMENT_NODE) {
//将每个节点读取到得值拼成一个字符串,然后存到数据库去
value=value+node.getFirstChild().getNodeValue()+",";
}
}
}
System.out.println(value);
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
zswiori 2011-06-16
  • 打赏
  • 举报
回复
你就直接把xml文件当字符串存到数据里就是了,过长的话,content字段需要用clob,只是要记得取出来的时候不能只用rs.getString(),要用流的方式读出来。
展示的时候直接用xml解析器就能解析的。
另外还要注意,如果你的xml文件里有特殊字符要转义,用<![CDATA[]]>,不然xml解析的时候会出问题
Herves 2011-06-16
  • 打赏
  • 举报
回复
先解析XML,然后将解析的下来的字段形成以String 然后存进去啊
龙四 2011-06-16
  • 打赏
  • 举报
回复
xml本质不就是一个String么
凯瑞甘 2011-06-16
  • 打赏
  • 举报
回复
你把content的内容以xml形式返回到客户端,在客户端解析xml

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧