<?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展示(可能是表格的形式展现给用户看)。大家有没有好的方法?谢谢
<user>
<name>张三</name>
<age>20</age>
<sex>男</sex>
<address>江苏省南京市鼓楼区</address>
</user>比如上面是xml文件内容,我现在要把这些内容存入数据库中。
(是存入某个表的某个字段)
数据库中的表
id | content把上面xml的内容存入content这个字段最终我可以读取这条记录的content,然后解析xml展示(可能是表格的形式展现给用户看)。大家有没有好的方法?谢谢
展示的时候直接用xml解析器就能解析的。
另外还要注意,如果你的xml文件里有特殊字符要转义,用<![CDATA[]]>,不然xml解析的时候会出问题
//得到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();
}