锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产99在线|亚洲,亚洲AV日韩AV永久无码免下载,亚洲五月激情综合图片区http://www.tkk7.com/zhhp1314520/category/16151.htmlzh-cnFri, 23 Mar 2007 05:04:19 GMTFri, 23 Mar 2007 05:04:19 GMT60閲囩敤org.w3c.dom榪涜XML鎿嶄綔(涓)錛堣漿杞斤級(jí)http://www.tkk7.com/zhhp1314520/articles/orgw3cdom1.html鎹曢鎹曢Thu, 22 Mar 2007 06:59:00 GMThttp://www.tkk7.com/zhhp1314520/articles/orgw3cdom1.htmlhttp://www.tkk7.com/zhhp1314520/comments/105562.htmlhttp://www.tkk7.com/zhhp1314520/articles/orgw3cdom1.html#Feedback0http://www.tkk7.com/zhhp1314520/comments/commentRss/105562.htmlhttp://www.tkk7.com/zhhp1314520/services/trackbacks/105562.html 閲囩敤org.w3c.dom榪涜XML鎿嶄綔(涓)
聽(tīng)

XMLBuilder.java

聽(tīng)鐢ㄤ簬鍒涘緩錛わ集錛紝Root緇撶偣

/********************************************************************
聽(tīng)* 欏圭洰鍚嶇О聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛歳ochoc聽(tīng)聽(tīng)聽(tīng)<p>
聽(tīng)* 鍖呭悕縐奧?聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛歳ochoc.xml.oper聽(tīng)<p>
聽(tīng)* 鏂囦歡鍚嶇О聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛歑mlBuilder聽(tīng)聽(tīng)聽(tīng)<p>
聽(tīng)* 緙栧啓鑰?聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛歭uoc聽(tīng)聽(tīng)聽(tīng)聽(tīng)<p>
聽(tīng)* 緙栧啓鏃ユ湡聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛?005-6-22聽(tīng)聽(tīng)聽(tīng)聽(tīng)<p>
聽(tīng)* 紼嬪簭鍔熻兘錛堢被錛夋弿榪奧狅細(xì)聽(tīng)鏍規(guī)嵁浼犲叆鐨刋ML鏂囦歡鐢熸垚Document鍜宺oot緇撶偣<p>
聽(tīng)*
聽(tīng)* 紼嬪簭鍙樻洿鏃ユ湡聽(tīng)聽(tīng)聽(tīng)錛?br />聽(tīng)* 鍙樻洿浣滆吢?tīng)聽(tīng)聽(tīng)聽(tīng)锛?xì)
聽(tīng)* 鍙樻洿璇存槑聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛?br />********************************************************************/
package rochoc.xml.oper;

import java.io.File;
import java.io.IOException;

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

import org.apache.log4j.Logger;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;

/**
聽(tīng)* 綾誨悕錛歑mlBuilder聽(tīng) <p>
聽(tīng)* 綾繪弿榪幫細(xì)鏍規(guī)嵁浼犲叆鐨刋ML鏂囦歡鐢熸垚Document鍜宺oot緇撶偣 <p>
聽(tīng)* 緙栧啓鑰?錛歭uoc<p>
聽(tīng)* 緙栧啓鏃ユ湡 錛?005-6-22<p>
聽(tīng)* 涓昏public鎴愬憳鍙橀噺錛?lt;p>
聽(tīng)* 涓昏public鏂規(guī)硶錛毬?tīng)?<p>
聽(tīng)**/

public class XmlBuilder
{
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng)聽(tīng) *鏋勯犲嚱鏁拌鏄庯細(xì)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) <p>
聽(tīng)聽(tīng)聽(tīng)聽(tīng) *鍙傛暟璇存槑錛欯param path聽(tīng)聽(tīng) <p>
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public XmlBuilder(String path)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) this.path=path;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) init();
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歩nit<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氬垵濮嬪寲鍑芥暟<p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛?<p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歷oid <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public void init()
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) buildDocument();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) buildRoot();
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歜uildDocument<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氬皢XML鏂囦歡鐢熸垚Document <p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛?<p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歷oid <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) private void buildDocument()
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) try
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) DocumentBuilder builder=factory.newDocumentBuilder();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug("Construct document builder success.");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) doc=builder.parse(new File(path));聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug("Build xml document success.");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }catch(ParserConfigurationException e)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.error("Construct document builder error:"+e);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }catch(SAXException e)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.error("Parse xml file error:"+e);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }catch(IOException e)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.error("Read xml file error:"+e);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歜uildRoot<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氱敓鎴怷ML鐨勬牴緇撶偣<p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛?<p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歷oid <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) private void buildRoot()
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) root=doc.getDocumentElement();
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng)聽(tīng) * @return 榪斿洖 doc銆?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) */
聽(tīng)聽(tīng)聽(tīng) public Document getDoc()
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return doc;
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng)聽(tīng) * @param doc 瑕佽緗殑 doc銆?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) */
聽(tīng)聽(tīng)聽(tīng) public void setDoc(Document doc)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) this.doc = doc;
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng)聽(tīng) * @return 榪斿洖 path銆?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) */
聽(tīng)聽(tīng)聽(tīng) public String getPath()
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return path;
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng)聽(tīng) * @param path 瑕佽緗殑 path銆?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) */
聽(tīng)聽(tīng)聽(tīng) public void setPath(String path)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) this.path = path;
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng)聽(tīng) * @return 榪斿洖 root銆?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) */
聽(tīng)聽(tīng)聽(tīng) public Element getRoot()
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return root;
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng)聽(tīng) * @param root 瑕佽緗殑 root銆?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) */
聽(tīng)聽(tīng)聽(tīng) public void setRoot(Element root)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) this.root = root;
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng) /*鍏ㄥ眬鍙橀噺*/
聽(tīng)聽(tīng)聽(tīng) private String path=null;//xml鏂囦歡璺緞
聽(tīng)聽(tīng)聽(tīng) private Document doc=null;//xml鏂囦歡瀵瑰簲鐨刣ocument
聽(tīng)聽(tīng)聽(tīng) private Element root=null;//xml鏂囦歡鐨勬牴緇撶偣
聽(tīng)聽(tīng)聽(tīng) private Logger logger=Logger.getLogger(getClass().getName());
}



鎹曢 2007-03-22 14:59 鍙戣〃璇勮
]]>
閲囩敤org.w3c.dom榪涜XML鎿嶄綔(浜?錛堣漿杞斤級(jí)http://www.tkk7.com/zhhp1314520/articles/orgw3cdom2.html鎹曢鎹曢Thu, 22 Mar 2007 06:56:00 GMThttp://www.tkk7.com/zhhp1314520/articles/orgw3cdom2.htmlhttp://www.tkk7.com/zhhp1314520/comments/105560.htmlhttp://www.tkk7.com/zhhp1314520/articles/orgw3cdom2.html#Feedback0http://www.tkk7.com/zhhp1314520/comments/commentRss/105560.htmlhttp://www.tkk7.com/zhhp1314520/services/trackbacks/105560.html 閲囩敤org.w3c.dom榪涜XML鎿嶄綔(浜?
聽(tīng)

XmlOper.java

聽(tīng)鐢ㄤ簬鎿嶄綔錛革輯錛枃浠訛紝鍖呮嫭鏌ユ壘銆佹柊澧炪佸垹闄ゃ佷慨鏀圭粨鐐?/p>

聽(tīng)/********************************************************************
聽(tīng)* 欏圭洰鍚嶇О聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛歳ochoc聽(tīng)聽(tīng)聽(tīng)<p>
聽(tīng)* 鍖呭悕縐奧?聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛歳ochoc.xml.oper聽(tīng)<p>
聽(tīng)* 鏂囦歡鍚嶇О聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛歑mlOper聽(tīng)聽(tīng)聽(tīng)<p>
聽(tīng)* 緙栧啓鑰?聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛歭uoc聽(tīng)聽(tīng)聽(tīng)聽(tīng)<p>
聽(tīng)* 緙栧啓鏃ユ湡聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛?005-6-22聽(tīng)聽(tīng)聽(tīng)聽(tīng)<p>
聽(tīng)* 紼嬪簭鍔熻兘錛堢被錛夋弿榪奧狅細(xì)聽(tīng)瀵筙ML榪涜璇誨啓鎿嶄綔聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) <p>
聽(tīng)*
聽(tīng)* 紼嬪簭鍙樻洿鏃ユ湡聽(tīng)聽(tīng)聽(tīng)錛?br />聽(tīng)* 鍙樻洿浣滆吢?tīng)聽(tīng)聽(tīng)聽(tīng)锛?xì)
聽(tīng)* 鍙樻洿璇存槑聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛?br />********************************************************************/
package rochoc.xml.oper;

import java.util.ArrayList;

import org.apache.log4j.Logger;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

/**
聽(tīng)* 綾誨悕錛歑mlOper聽(tīng) <p>
聽(tīng)* 綾繪弿榪幫細(xì)瀵筙ML鏂囦歡榪涜璇誨啓鎿嶄綔,鍧囦負(fù)闈?rùn)鎬佸嚱鏁?<p>
聽(tīng)* 緙栧啓鑰?錛歭uoc<p>
聽(tīng)* 緙栧啓鏃ユ湡 錛?005-6-22<p>
聽(tīng)* 涓昏public鎴愬憳鍙橀噺錛?lt;p>
聽(tīng)* 涓昏public鏂規(guī)硶錛毬?tīng)?<p>
聽(tīng)**/

public class XmlOper
{
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng)聽(tīng) *鏋勯犲嚱鏁拌鏄庯細(xì)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) <p>
聽(tīng)聽(tīng)聽(tīng)聽(tīng) *鍙傛暟璇存槑錛毬?tīng)?<p>
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) private XmlOper()
聽(tīng)聽(tīng)聽(tīng) {聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歡etNodeList<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氳幏鍙栫埗緇撶偣parent鐨勬墍鏈夊瓙緇撶偣<p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param parent
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯return <p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歂odeList <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public static NodeList getNodeList(Element parent)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return parent.getChildNodes();
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歡etElementsByName<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氬湪鐖剁粨鐐逛腑鏌ヨ鎸囧畾鍚嶇О鐨勭粨鐐歸泦聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) <p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param parent
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param name
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯return <p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛欵lement[] <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public static Element [] getElementsByName(Element parent,String name)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) ArrayList resList=new ArrayList();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) NodeList nl=getNodeList(parent);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) for(int i=0;i<nl.getLength();i++)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Node nd=nl.item(i);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) if(nd.getNodeName().equals(name))
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) resList.add(nd);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Element [] res=new Element [resList.size()];
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) for(int i=0;i<resList.size();i++)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) res[0]=(Element)resList.get(i);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug(parent.getNodeName()+"'s children of "+name+
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) "'s num:"+res.length);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return res;
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歡etElementName<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氳幏鍙栨寚瀹欵lement鐨勫悕縐奧犅?tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)?<p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param element
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯return <p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歋tring <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public static String getElementName(Element element)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return element.getNodeName();
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歡etElementValue<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氳幏鍙栨寚瀹欵lement鐨勫?lt;p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param element
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯return <p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歋tring <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public static String getElementValue(Element element)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) NodeList nl=element.getChildNodes();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) for(int i=0;i<nl.getLength();i++)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) if(nl.item(i).getNodeType()==Node.TEXT_NODE)//鏄竴涓猅ext Node
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug(element.getNodeName()+" has a Text Node.");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return element.getFirstChild().getNodeValue();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.error(element.getNodeName()+" hasn't a Text Node.");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return null;
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歡etElementAttr<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氳幏鍙栨寚瀹欵lement鐨勫睘鎬ttr鐨勫悸?tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)?<p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param element
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param attr
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯return <p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歋tring <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public static String getElementAttr(Element element,String attr)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return element.getAttribute(attr);
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歴etElementValue<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氳緗寚瀹欵lement鐨勫悸?tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)?<p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param element
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param val <p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歷oid <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public static void setElementValue(Element element,String val)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Node node=element.getOwnerDocument().createTextNode(val);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) NodeList nl=element.getChildNodes();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) for(int i=0;i<nl.getLength();i++)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Node nd=nl.item(i);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) if(nd.getNodeType()==Node.TEXT_NODE)//鏄竴涓猅ext Node
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) nd.setNodeValue(val);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug("modify "+element.getNodeName()+"'s node value succe.");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug("new "+element.getNodeName()+"'s node value succe.");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) element.appendChild(node);聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歴etElementAttr<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氳緗粨鐐笶lement鐨勫睘鎬?lt;p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param element
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param attr
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param attrVal <p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歷oid <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public static void setElementAttr(Element element,
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) String attr,String attrVal)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) element.setAttribute(attr,attrVal);
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歛ddElement<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氬湪parent涓嬪鍔犵粨鐐筩hild<p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param parent
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param child <p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歷oid <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public static void addElement(Element parent,Element child)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) parent.appendChild(child);
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歛ddElement<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氬湪parent涓嬪鍔犲瓧絎︿覆tagName鐢熸垚鐨勭粨鐐?lt;p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param parent
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param tagName <p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歷oid <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public static void addElement(Element parent,String tagName)
聽(tīng)聽(tīng)聽(tīng) {聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Document doc=parent.getOwnerDocument();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Element child=doc.createElement(tagName);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) parent.appendChild(child);
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歛ddElement<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氬湪parent涓嬪鍔爐agName鐨凾ext緇撶偣錛屼笖鍊間負(fù)text<p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param parent
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param tagName
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param text <p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歷oid <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public static void addElement(Element parent,String tagName,String text)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Document doc=parent.getOwnerDocument();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Element child=doc.createElement(tagName);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) setElementValue(child,text);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) parent.appendChild(child);
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歳emoveElement<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氬皢鐖剁粨鐐筽arent涓嬬殑鍚嶇О涓簍agName鐨勭粨鐐圭Щ闄?lt;p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param parent
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param tagName <p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歷oid <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public static void removeElement(Element parent,String tagName)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug("remove "+parent.getNodeName()+"'s children by tagName "+tagName+" begin...");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) NodeList nl=parent.getChildNodes();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) for(int i=0;i<nl.getLength();i++)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Node nd=nl.item(i);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) if(nd.getNodeName().equals(tagName))
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) parent.removeChild(nd);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug("remove child '"+nd+"' success.");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug("remove "+parent.getNodeName()+"'s children by tagName "+tagName+" end.");
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /*鍏ㄥ眬鍙橀噺*/聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) static Logger logger=Logger.getLogger("XmlOper");
}



鎹曢 2007-03-22 14:56 鍙戣〃璇勮
]]>
閲囩敤org.w3c.dom榪涜XML鎿嶄綔(涓? (杞澆)http://www.tkk7.com/zhhp1314520/articles/orgw3cdom.html鎹曢鎹曢Thu, 22 Mar 2007 06:50:00 GMThttp://www.tkk7.com/zhhp1314520/articles/orgw3cdom.htmlhttp://www.tkk7.com/zhhp1314520/comments/105559.htmlhttp://www.tkk7.com/zhhp1314520/articles/orgw3cdom.html#Feedback0http://www.tkk7.com/zhhp1314520/comments/commentRss/105559.htmlhttp://www.tkk7.com/zhhp1314520/services/trackbacks/105559.html 閲囩敤org.w3c.dom榪涜XML鎿嶄綔(涓?
聽(tīng)

XmlCreater.java

聽(tīng)鐢ㄤ簬鍒涘緩錛革輯錛枃浠?/p>

/********************************************************************
聽(tīng)* 欏圭洰鍚嶇О聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛歳ochoc聽(tīng)聽(tīng)聽(tīng)<p>
聽(tīng)* 鍖呭悕縐奧?聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛歳ochoc.xml.oper聽(tīng)<p>
聽(tīng)* 鏂囦歡鍚嶇О聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛歑mlCreater聽(tīng)聽(tīng)聽(tīng)<p>
聽(tīng)* 緙栧啓鑰?聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛歭uoc聽(tīng)聽(tīng)聽(tīng)聽(tīng)<p>
聽(tīng)* 緙栧啓鏃ユ湡聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛?005-6-22聽(tīng)聽(tīng)聽(tīng)聽(tīng)<p>
聽(tīng)* 紼嬪簭鍔熻兘錛堢被錛夋弿榪奧狅細(xì)聽(tīng)鍒涘緩DOM騫剁敓鎴怷ML鏂囦歡聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) <p>
聽(tīng)*
聽(tīng)* 紼嬪簭鍙樻洿鏃ユ湡聽(tīng)聽(tīng)聽(tīng)錛?br />聽(tīng)* 鍙樻洿浣滆吢?tīng)聽(tīng)聽(tīng)聽(tīng)锛?xì)
聽(tīng)* 鍙樻洿璇存槑聽(tīng)聽(tīng)聽(tīng)聽(tīng)錛?br />********************************************************************/
package rochoc.xml.oper;

import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.apache.log4j.Logger;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

/**
聽(tīng)* 綾誨悕錛歑mlCreater聽(tīng) <p>
聽(tīng)* 綾繪弿榪幫細(xì) 鍒涘緩DOM騫剁敓鎴怷ML鏂囦歡<p>
聽(tīng)* 緙栧啓鑰?錛歭uoc<p>
聽(tīng)* 緙栧啓鏃ユ湡 錛?005-6-22<p>
聽(tīng)* 涓昏public鎴愬憳鍙橀噺錛?lt;p>
聽(tīng)* 涓昏public鏂規(guī)硶錛毬?tīng)?<p>
聽(tīng)**/

public class XmlCreater
{
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng)聽(tīng) *鏋勯犲嚱鏁拌鏄庯細(xì)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) <p>
聽(tīng)聽(tīng)聽(tīng)聽(tīng) *鍙傛暟璇存槑錛欯param path聽(tīng) xml鏂囦歡璺緞 <p>
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public XmlCreater(String path)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) this.path=path;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) init();
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歩nit<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛?鍒濆鍖栧嚱鏁奧犅?tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)?<p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛?<p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歷oid <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) private void init()
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) try
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) DocumentBuilder builder=factory.newDocumentBuilder();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) doc=builder.newDocument();//鏂板緩DOM
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }catch(ParserConfigurationException e)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.error("Parse DOM builder error:"+e);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歝reateRootElement<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氬垱寤烘牴緇撶偣錛屽茍榪斿洖聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) <p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param rootTagName <p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛欵lement <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public Element createRootElement(String rootTagName)
聽(tīng)聽(tīng)聽(tīng) {聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) if(doc.getDocumentElement()==null)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug("create root element '"+rootTagName+"' success.");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Element root=doc.createElement(rootTagName);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) doc.appendChild(root);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return root;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.warn("this dom's root element is exist,create fail.");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return doc.getDocumentElement();
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歝reateElement<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氬湪parent緇撶偣涓嬪鍔犲瓙緇撶偣tagName<p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param parent
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param tagName <p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛欵lement <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public Element createElement(Element parent,String tagName)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Document doc=parent.getOwnerDocument();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Element child=doc.createElement(tagName);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) parent.appendChild(child);聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return child;
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歝reateElement<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氬湪parent緇撶偣涓嬪鍔犲間負(fù)value鐨勫瓙緇撶偣tabName<p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param parent
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param tagName
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param value <p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛欵lement <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public Element createElement(Element parent,String tagName,String value)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Document doc=parent.getOwnerDocument();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Element child=doc.createElement(tagName);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) XmlOper.setElementValue(child,value);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) parent.appendChild(child);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return child;
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歝reateAttribute<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氬湪parent緇撶偣涓嬪鍔犲睘鎬?<p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param parent
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param attrName 灞炴у悕
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛欯param attrValue 灞炴у?lt;p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歷oid <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public void createAttribute(Element parent,String attrName,String attrValue)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) XmlOper.setElementAttr(parent,attrName,attrValue);聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍚嶇О錛歜uildXmlFile<p>
聽(tīng)聽(tīng)聽(tīng) * 鏂規(guī)硶鍔熻兘錛氭牴鎹瓺OM鐢熸垚XML鏂囦歡<p>
聽(tīng)聽(tīng)聽(tīng) * 鍙傛暟璇存槑錛?<p>
聽(tīng)聽(tīng)聽(tīng) * 榪斿洖錛歷oid <p>
聽(tīng)聽(tīng)聽(tīng) * 浣滆咃細(xì)luoc
聽(tīng)聽(tīng)聽(tīng) * 鏃ユ湡錛?005-6-22
聽(tīng)聽(tīng)聽(tīng) **/
聽(tīng)聽(tīng)聽(tīng) public void buildXmlFile()
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) TransformerFactory tfactory=TransformerFactory.newInstance();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) try
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) Transformer transformer=tfactory.newTransformer();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) DOMSource source=new DOMSource(doc);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug("New DOMSource success.");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) StreamResult result=new StreamResult(new File(path));
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug("New StreamResult success.");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) transformer.setOutputProperty("encoding","GBK");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) transformer.transform(source,result);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.debug("Build XML File '"+path+"' success.");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }catch(TransformerConfigurationException e)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.error("Create Transformer error:"+e);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }catch(TransformerException e)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) logger.error("Transformer XML file error:"+e);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng)聽(tīng) * @return 榪斿洖 doc銆?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) */
聽(tīng)聽(tīng)聽(tīng) public Document getDoc()
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return doc;
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng)聽(tīng) * @param doc 瑕佽緗殑 doc銆?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) */
聽(tīng)聽(tīng)聽(tīng) public void setDoc(Document doc)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) this.doc = doc;
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng)聽(tīng) * @return 榪斿洖 path銆?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) */
聽(tīng)聽(tīng)聽(tīng) public String getPath()
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) return path;
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng) /**
聽(tīng)聽(tīng)聽(tīng)聽(tīng) * @param path 瑕佽緗殑 path銆?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) */
聽(tīng)聽(tīng)聽(tīng) public void setPath(String path)
聽(tīng)聽(tīng)聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) this.path = path;
聽(tīng)聽(tīng)聽(tīng) }
聽(tīng)聽(tīng)聽(tīng) /*鍏ㄥ眬鍙橀噺*/
聽(tīng)聽(tīng)聽(tīng) private Logger logger = Logger.getLogger(getClass().getName());
聽(tīng)聽(tīng)聽(tīng) private Document doc=null;//鏂板垱寤虹殑DOM
聽(tīng)聽(tīng)聽(tīng) private String path=null;//鐢熸垚鐨刋ML鏂囦歡緇濆璺緞
}



鎹曢 2007-03-22 14:50 鍙戣〃璇勮
]]>
DOM4J浣跨敤鎬葷粨http://www.tkk7.com/zhhp1314520/articles/dom4j_study.html鎹曢鎹曢Thu, 12 Oct 2006 02:23:00 GMThttp://www.tkk7.com/zhhp1314520/articles/dom4j_study.htmlhttp://www.tkk7.com/zhhp1314520/comments/74728.htmlhttp://www.tkk7.com/zhhp1314520/articles/dom4j_study.html#Feedback0http://www.tkk7.com/zhhp1314520/comments/commentRss/74728.htmlhttp://www.tkk7.com/zhhp1314520/services/trackbacks/74728.html闃呰鍏ㄦ枃

鎹曢 2006-10-12 10:23 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 中国国产高清免费av片| 亚洲AV永久无码精品网站在线观看 | 一个人看的免费视频www在线高清动漫| 伊人久久大香线蕉亚洲五月天| 直接进入免费看黄的网站| 国产在线观看www鲁啊鲁免费| 成人区精品一区二区不卡亚洲| aa级一级天堂片免费观看| 国产成人精品日本亚洲专| 免费A级毛片无码免费视| 国产成人精品日本亚洲直接| 午夜色a大片在线观看免费| 亚洲精品理论电影在线观看| 日韩视频在线免费观看| 国产精品亚洲а∨无码播放麻豆| 免费看国产曰批40分钟| 一个人看www免费高清字幕| 亚洲精品乱码久久久久久| 青青草原1769久久免费播放| 亚洲酒色1314狠狠做| 无码永久免费AV网站| 国产亚洲男人的天堂在线观看| 亚洲精品无码专区2| 日韩免费无码视频一区二区三区| 亚洲中文字幕久在线| 国产成人aaa在线视频免费观看| 五月婷婷免费视频| 亚洲VA成无码人在线观看天堂| 久久99精品视免费看| 亚洲妇女熟BBW| 亚洲第一福利网站在线观看| 久久精品国产这里是免费| 亚洲综合校园春色| 国产乱辈通伦影片在线播放亚洲 | a级大片免费观看| 亚洲狠狠成人综合网| 亚洲精品线路一在线观看| 8x8x华人永久免费视频| jizzjizz亚洲日本少妇| 久久精品国产亚洲AV网站 | 免费a级毛片高清视频不卡|