<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    捕風之巢

    統計

    留言簿(3)

    java友情鏈接

    閱讀排行榜

    評論排行榜

    采用org.w3c.dom進行XML操作(三) (轉載)

    采用org.w3c.dom進行XML操作(三)
    ?

    XmlCreater.java

    ?用于創建XML文件

    /********************************************************************
    ?* 項目名稱????:rochoc???<p>
    ?* 包名稱? ????:rochoc.xml.oper?<p>
    ?* 文件名稱????:XmlCreater???<p>
    ?* 編寫者 ????:luoc????<p>
    ?* 編寫日期????:2005-6-22????<p>
    ?* 程序功能(類)描述?:?創建DOM并生成XML文件????? <p>
    ?*
    ?* 程序變更日期???:
    ?* 變更作者????:
    ?* 變更說明????:
    ********************************************************************/
    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;

    /**
    ?* 類名:XmlCreater? <p>
    ?* 類描述: 創建DOM并生成XML文件<p>
    ?* 編寫者 :luoc<p>
    ?* 編寫日期 :2005-6-22<p>
    ?* 主要public成員變量:<p>
    ?* 主要public方法:?? <p>
    ?**/

    public class XmlCreater
    {
    ??? /**
    ???? *構造函數說明:?????? <p>
    ???? *參數說明:@param path? xml文件路徑 <p>
    ??? **/
    ??? public XmlCreater(String path)
    ??? {
    ??????? this.path=path;
    ??????? init();
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:init<p>
    ??? * 方法功能: 初始化函數?????????? <p>
    ??? * 參數說明: <p>
    ??? * 返回:void <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? private void init()
    ??? {
    ??????? DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
    ??????? try
    ??????? {
    ??????????? DocumentBuilder builder=factory.newDocumentBuilder();
    ??????????? doc=builder.newDocument();//新建DOM
    ??????? }catch(ParserConfigurationException e)
    ??????? {
    ??????????? logger.error("Parse DOM builder error:"+e);
    ??????? }
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:createRootElement<p>
    ??? * 方法功能:創建根結點,并返回??????????? <p>
    ??? * 參數說明:@param rootTagName <p>
    ??? * 返回:Element <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public Element createRootElement(String rootTagName)
    ??? {????
    ??????? if(doc.getDocumentElement()==null)
    ??????? {
    ??????????? logger.debug("create root element '"+rootTagName+"' success.");
    ??????????? Element root=doc.createElement(rootTagName);
    ??????????? doc.appendChild(root);
    ??????????? return root;
    ??????? }
    ??????? logger.warn("this dom's root element is exist,create fail.");
    ??????? return doc.getDocumentElement();
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:createElement<p>
    ??? * 方法功能:在parent結點下增加子結點tagName<p>
    ??? * 參數說明:@param parent
    ??? * 參數說明:@param tagName <p>
    ??? * 返回:Element <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public Element createElement(Element parent,String tagName)
    ??? {
    ??????? Document doc=parent.getOwnerDocument();
    ??????? Element child=doc.createElement(tagName);
    ??????? parent.appendChild(child);???????
    ??????? return child;
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:createElement<p>
    ??? * 方法功能:在parent結點下增加值為value的子結點tabName<p>
    ??? * 參數說明:@param parent
    ??? * 參數說明:@param tagName
    ??? * 參數說明:@param value <p>
    ??? * 返回:Element <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public Element createElement(Element parent,String tagName,String value)
    ??? {
    ??????? Document doc=parent.getOwnerDocument();
    ??????? Element child=doc.createElement(tagName);
    ??????? XmlOper.setElementValue(child,value);
    ??????? parent.appendChild(child);
    ??????? return child;
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:createAttribute<p>
    ??? * 方法功能:在parent結點下增加屬性 <p>
    ??? * 參數說明:@param parent
    ??? * 參數說明:@param attrName 屬性名
    ??? * 參數說明:@param attrValue 屬性值<p>
    ??? * 返回:void <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public void createAttribute(Element parent,String attrName,String attrValue)
    ??? {
    ??????? XmlOper.setElementAttr(parent,attrName,attrValue);???????
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:buildXmlFile<p>
    ??? * 方法功能:根據DOM生成XML文件<p>
    ??? * 參數說明: <p>
    ??? * 返回:void <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public void buildXmlFile()
    ??? {
    ??????? TransformerFactory tfactory=TransformerFactory.newInstance();
    ??????? try
    ??????? {
    ??????????? Transformer transformer=tfactory.newTransformer();
    ??????????? DOMSource source=new DOMSource(doc);
    ??????????? logger.debug("New DOMSource success.");
    ??????????? StreamResult result=new StreamResult(new File(path));
    ??????????? logger.debug("New StreamResult success.");
    ??????????? transformer.setOutputProperty("encoding","GBK");
    ??????????? transformer.transform(source,result);
    ??????????? logger.debug("Build XML File '"+path+"' success.");
    ??????? }catch(TransformerConfigurationException e)
    ??????? {
    ??????????? logger.error("Create Transformer error:"+e);
    ??????? }catch(TransformerException e)
    ??????? {
    ??????????? logger.error("Transformer XML file error:"+e);
    ??????? }
    ??? }
    ???
    ??? /**
    ???? * @return 返回 doc。
    ???? */
    ??? public Document getDoc()
    ??? {
    ??????? return doc;
    ??? }
    ??? /**
    ???? * @param doc 要設置的 doc。
    ???? */
    ??? public void setDoc(Document doc)
    ??? {
    ??????? this.doc = doc;
    ??? }
    ??? /**
    ???? * @return 返回 path。
    ???? */
    ??? public String getPath()
    ??? {
    ??????? return path;
    ??? }
    ??? /**
    ???? * @param path 要設置的 path。
    ???? */
    ??? public void setPath(String path)
    ??? {
    ??????? this.path = path;
    ??? }
    ??? /*全局變量*/
    ??? private Logger logger = Logger.getLogger(getClass().getName());
    ??? private Document doc=null;//新創建的DOM
    ??? private String path=null;//生成的XML文件絕對路徑
    }

    posted on 2007-03-22 14:50 捕風 閱讀(731) 評論(0)  編輯  收藏 所屬分類: xml應用

    主站蜘蛛池模板: 亚洲国产精品成人久久蜜臀| 亚洲Av无码国产情品久久| 亚洲成a人无码亚洲成av无码 | 最近免费中文在线视频| 亚洲爆乳无码精品AAA片蜜桃| 在线亚洲精品福利网址导航| 亚洲高清免费在线观看| 黄色毛片免费在线观看| 亚洲高清美女一区二区三区| 国产免费卡一卡三卡乱码| 少妇人妻偷人精品免费视频| 亚洲AV无码专区亚洲AV桃| 久久精品视频亚洲| 国产免费久久精品| 5555在线播放免费播放| 成人国产网站v片免费观看| 亚洲精品人成电影网| 亚洲一级特黄无码片| 美女被cao免费看在线看网站| www免费黄色网| 亚洲精品无码久久久久牙蜜区| 国产亚洲成AV人片在线观黄桃| 日韩在线天堂免费观看| 最近新韩国日本免费观看| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲精品成人av在线| 亚洲av日韩片在线观看| 一二三四免费观看在线视频中文版 | 亚洲精品人成电影网| 亚洲国产精品嫩草影院在线观看 | 中文在线观看国语高清免费| 亚洲妇女无套内射精| 亚洲黄色免费在线观看| 亚洲不卡中文字幕无码| 久久精品国产亚洲Aⅴ香蕉| 男女啪啪永久免费观看网站| ww在线观视频免费观看| 香港a毛片免费观看| 亚州**色毛片免费观看| 久久久久亚洲国产AV麻豆| 亚洲人成网站在线观看播放动漫 |