亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

DOM-讀取數據庫,將數據寫入XML,解析XML..

系統 1983 0

DOM-讀取數據庫,將數據寫入XML,解析XML..
數據的讀取
將數據從數據庫中讀取,并寫入XML。代碼如下:

package com.mky.xml;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.apache.crimson.tree.XmlDocument;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class WriteXml {
static Connection conn = null;
static String sql;
static String url = "jdbc:oracle:thin:@localhost:1521:zxg";
public static void main(String[] args) {
? try {
?? Class.forName("oracle.jdbc.driver.OracleDriver");
?? conn = DriverManager.getConnection(url, "scott", "tiger");
?? Statement st = conn.createStatement();
?? ResultSet rs = st.executeQuery("select * from dept");
?? DocumentBuilderFactory factory = DocumentBuilderFactory
???? .newInstance();
?? DocumentBuilder builder = factory.newDocumentBuilder();
?? Document doc = builder.newDocument();
?? Element comp = doc.createElement("COMP");
?? while (rs.next()) {
??? Element person = doc.createElement("PERSON");

??? Element deptno = doc.createElement("DEPTNO");
??? deptno.appendChild(doc.createTextNode(String.valueOf(rs
????? .getInt(1))));
??? person.appendChild(deptno);

??? Element dname = doc.createElement("DNAME");
??? dname.appendChild(doc.createTextNode(rs.getString(2)));
??? person.appendChild(dname);

??? Element loc = doc.createElement("LOC");
??? loc.appendChild(doc.createTextNode(rs.getString(3)));
??? person.appendChild(loc);

??? comp.appendChild(person);
?? }
?? rs.close();
?? st.close();
?? conn.close();
?? doc.appendChild(comp);
?? ((XmlDocument) doc)
???? .write(new FileOutputStream(new File("dept.xml")));
?? System.out.println("從數據庫讀出數據,寫入xml ..操作成功!!!");
? } catch (ClassNotFoundException e) {
?? e.printStackTrace();
? } catch (SQLException e1) {
?? e1.printStackTrace();
? } catch (ParserConfigurationException e2) {
?? e2.printStackTrace();
? } catch (FileNotFoundException e3) {
?? e3.printStackTrace();
? } catch (IOException e4) {
?? e4.printStackTrace();
? }
}
}

生成dept.xml? 內容如下:

<?xml version="1.0" encoding="UTF-8"?>

<COMP>
? <PERSON>
??? <DEPTNO>10</DEPTNO>
??? <DNAME>ACCOUNTING</DNAME>
??? <LOC>NEW YORK</LOC>
? </PERSON>
? <PERSON>
??? <DEPTNO>20</DEPTNO>
??? <DNAME>RESEARCH</DNAME>
??? <LOC>DALLAS</LOC>
? </PERSON>
? <PERSON>
??? <DEPTNO>30</DEPTNO>
??? <DNAME>SALES</DNAME>
??? <LOC>CHICAGO</LOC>
? </PERSON>
? <PERSON>
??? <DEPTNO>40</DEPTNO>
??? <DNAME>OPERATIONS</DNAME>
??? <LOC>BOSTON</LOC>
? </PERSON>
</COMP>
從生成的XML中讀取數據。代碼如下:

package com.mky.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.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;

public class ReadXML {

public static void main(String[] args) {
? try {
?? DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory
???? .newInstance();
?? DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
?? Document doc = docBuilder.parse(new File("dept.xml"));
?? doc.getDocumentElement().normalize();
?? System.out.println("Root element of the doc is "
???? + doc.getDocumentElement().getNodeName());
?? NodeList listOfPersons = doc.getElementsByTagName("PERSON");
?? int totalPersons = listOfPersons.getLength();
?? System.out.println("Total NO of people : " + totalPersons);
?? for (int s = 0; s < listOfPersons.getLength(); s++) {
??? Node firstPersonNode = listOfPersons.item(s);
??? if (firstPersonNode.getNodeType() == Node.ELEMENT_NODE) {
???? Element firstPersonElement = (Element) firstPersonNode;

???? // -------
???? NodeList firstNameList = firstPersonElement
?????? .getElementsByTagName("DEPTNO");
???? Element firstNameElement = (Element) firstNameList.item(0);
???? NodeList textFNList = firstNameElement.getChildNodes();
???? System.out
?????? .println("DEPTNO Name : "
???????? + ((Node) textFNList.item(0))
?????????? .getNodeValue().trim());

???? // -------
???? NodeList lastNameList = firstPersonElement
?????? .getElementsByTagName("DNAME");
???? Element lastNameElement = (Element) lastNameList.item(0);
???? NodeList textLNList = lastNameElement.getChildNodes();
???? System.out
?????? .println("DNAME Name : "
???????? + ((Node) textLNList.item(0))
?????????? .getNodeValue().trim());

???? // ----
???? NodeList ageList = firstPersonElement
?????? .getElementsByTagName("LOC");
???? Element ageElement = (Element) ageList.item(0);
???? NodeList textAgeList = ageElement.getChildNodes();
???? System.out.println("LOC : "
?????? + ((Node) textAgeList.item(0)).getNodeValue()
???????? .trim());
??? }
?? }
? } catch (SAXParseException err) {
?? System.out.println("** Parsing error" + ", line "
???? + err.getLineNumber() + ", uri " + err.getSystemId());
?? System.out.println(" " + err.getMessage());

? } catch (SAXException e) {
?? Exception x = e.getException();
?? ((x == null) ? e : x).printStackTrace();

? } catch (Throwable t) {
?? t.printStackTrace();
? }
}
}

讀取結果:

? result

DOM-讀取數據庫,將數據寫入XML,解析XML..


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 伊人久久99亚洲精品久久频 | 一级毛片观看 | 午夜噜噜噜私人影院在线播放 | 亚洲成人中文 | a视频在线看 | 天天爱天天舔 | 天天干夜夜夜 | 日韩婷婷| 国产99视频精品免视看7 | 国产在线视频凹凸分类 | 天天看片夜夜爽 | 国产成人久久久精品一区二区三区 | 四虎最新网址在线观看 | 自拍偷自拍亚洲精品被多人伦好爽 | 四虎在线播放免费永久视频 | 成年女人毛片免费播放人 | 夜夜操com | 韩国爱情片免费大全 | 久久www免费人成_看 | 欧美午夜精品久久久久免费视 | 亚洲伦理 | 日韩欧美手机在线 | 国产欧美日韩精品综合 | 福利视频区 | 国产精品日本一区二区在线播放 | 日韩在线观看一区 | 久久久久久天天夜夜天天 | 欧美成人观看 | 久久视屏这里只有精品6国产 | 久久性 | 羞羞视频免费网站 | 国产精品久久久久久亚洲伦理 | 曰本性l交片视频视频 | 99热国产在线 | 美利坚永久精品视频在线观看 | 欧美成人aⅴ | 久久天天躁狠狠躁夜夜爽 | 一区二区三区在线播放视频 | 久久精品国产一区二区三区 | 国产成人欧美 | 久久在线免费视频 |