<?xml version="1.0" encoding="UTF-8"?>
<Document>
<CommercialDraftRegisterConfirmation>
<MsgId>
<Id>String </Id>
<CreDtTm>2001-12-17T09:30:47 </CreDtTm>
</MsgId>
<OrgnlMsgId>
<Id>String </Id>
<CreDtTm>2001-12-17T09:30:47.0Z </CreDtTm>
</OrgnlMsgId>
<ComrclDrft>
<IdNb>000000000000000000000000000000 </IdNb>
<IsseAmt Ccy="CNY">3.14 </IsseAmt>
</ComrclDrft>
<BizCtrlInf>
<PrcCd>String </PrcCd>
<PrcMsg>String </PrcMsg>
</BizCtrlInf>
</CommercialDraftRegisterConfirmation>
<CntrlBkSgntr>String </CntrlBkSgntr>
</Document>
哪个大虾帮下 很急~~
解析出来并且扔到数据库里去
数据库是ORACLE
<CommercialDraftRegisterConfirmation> 这个为标识解析就可以了
<Document>
<CommercialDraftRegisterConfirmation>
<MsgId>
<Id>String </Id>
<CreDtTm>2001-12-17T09:30:47 </CreDtTm>
</MsgId>
<OrgnlMsgId>
<Id>String </Id>
<CreDtTm>2001-12-17T09:30:47.0Z </CreDtTm>
</OrgnlMsgId>
<ComrclDrft>
<IdNb>000000000000000000000000000000 </IdNb>
<IsseAmt Ccy="CNY">3.14 </IsseAmt>
</ComrclDrft>
<BizCtrlInf>
<PrcCd>String </PrcCd>
<PrcMsg>String </PrcMsg>
</BizCtrlInf>
</CommercialDraftRegisterConfirmation>
<CntrlBkSgntr>String </CntrlBkSgntr>
</Document>
哪个大虾帮下 很急~~
解析出来并且扔到数据库里去
数据库是ORACLE
<CommercialDraftRegisterConfirmation> 这个为标识解析就可以了
建议你先定义你的表结构,然后建立BEAN!
技术上:如果你想解释XML可以用JDOM,DOM4J等技术,封装对象!
向数据库插数据:可以使用HIBERNATE,JDBC等技术!
* 建立数据文件的读取连接
*
* @return 读取成功时返回Document对象,失败则返回空
*/
public static Document getDocument() { Document doc1 = null;
File file = new File("xml_path");
SAXReader xml_read = new SAXReader();
try {
doc1 = xml_read.read(file);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
return doc1; }/**
* 读取数据,
*
* @param doc
* 要查找的数据文件
* @param id
* 通过用户id条件精确查询
*
*/
private Element GetData(Document doc, String id) { Element root = doc.getRootElement();
String xml_path = "/MsgId/id";
Node node = root.selectSingleNode(xml_path);
if (node != null) {
if (node.getNodeType() == Node.ELEMENT_NODE) {
return (Element) node;
}
} return null;
}
/**
* 把数据写到XML文件的方法
*
* @param doc
* 需要写入数据的XML文件的Document
*/
private void output_xml(Document doc) {
File file = new File("xml_path");
OutputFormat op_format = OutputFormat.createPrettyPrint();
op_format.setEncoding("GBK");
op_format.setIndent("\t");
try {
XMLWriter xml_writer = new XMLWriter(new FileOutputStream(file),
op_format);
xml_writer.write(doc); } catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
xml文件:"student.xml"xml 代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE zmclass SYSTEM "student.dtd">
<zmclass id="0703">
<student sex="男">
<name>MICHAEL</name>
<age>24</age>
<address>武汉</address>
</student>
<student sex="女">
<name>王黎</name>
<age>24</age>
<address>武汉</address>
</student>
<student sex="男">
<name>莫智洲</name>
<age>24</age>
<address>武汉</address>
</student>
<student sex="男">
<name>曹锋</name>
<age>23</age>
<address>武汉</address>
</student>
</zmclass>
java文件:"DomTest.java" package test;
/**
*
* @描述:解析XML文件的测试类。
* @作者: 赵明
* 2007-9-5
*/
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class DomTest {
public static void main(String[] args){
List stuArrList = new ArrayList();//创建用来保存学生信息的集合。
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new File("student.xml"));
Element root = doc.getDocumentElement();//得到文档对象树。
//System.out.println(root);
System.out.println("根元素名称:"+root.getTagName());
NodeList stuList = root.getElementsByTagName("student");
//开始逐个创建学生对象。
for(int i = 0; i < stuList.getLength();i++){
Student s = new Student();
Element stuE = (Element)stuList.item(i);
//System.out.println(stuE);
s.setSex(stuE.getAttribute("sex"));//向学生对象中写入性别属性。
NodeList stuInfoList = stuE.getChildNodes();
for(int j = 0;j < stuInfoList.getLength();j++){
Node temp = stuInfoList.item(j);
if(temp.getNodeType()==Node.ELEMENT_NODE){//判断对象的类型的节点是不是元素。
Element tempE = (Element)temp;//转换类型到元素。
Node initW = tempE.getLastChild();
//Node initW = tempE.getFirstChild();
//由于只有一个节点,第一和最后一个都是同一个。
if("name".equals(tempE.getNodeName())){
s.setName(initW.getNodeValue());//加入姓名。
}if("age".equals(tempE.getNodeName())){
s.setAge((Integer.parseInt(initW.getNodeValue())));//加入年龄。
}if("address".equals(tempE.getNodeName())){
s.setAddress((initW.getNodeValue()));//加入地址。
}
}
}
stuArrList.add(s);//添加进集合中。
}
Iterator ite = stuArrList.iterator();//使用跌代器遍历集合元素。
while(ite.hasNext()){
Student s = (Student)ite.next();
System.out.println(s);
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
java 代码
java文件:"Student.java" java 代码
package test;
/**
*
* @描述:学生类用来保存学生的信息。
* @作者: 赵明
* 2007-9-5
*/
public class Student {
private String name;
private String sex;
private int age;
private String address;
public String toString(){//覆盖该方法。
return name+"-"+sex+"-"+age+"-"+address;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
根据你的要解析的xml文件事先建立相应的bean与之对应
来保存解析出来的数据,
并把数据保存到数据库中
DOM4J代码是最少最直观的