<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操作(二)
    ?

    XmlOper.java

    ?用于操作XML文件,包括查找、新增、刪除、修改結點

    ?/********************************************************************
    ?* 項目名稱????:rochoc???<p>
    ?* 包名稱? ????:rochoc.xml.oper?<p>
    ?* 文件名稱????:XmlOper???<p>
    ?* 編寫者 ????:luoc????<p>
    ?* 編寫日期????:2005-6-22????<p>
    ?* 程序功能(類)描述?:?對XML進行讀寫操作????? <p>
    ?*
    ?* 程序變更日期???:
    ?* 變更作者????:
    ?* 變更說明????:
    ********************************************************************/
    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;

    /**
    ?* 類名:XmlOper? <p>
    ?* 類描述:對XML文件進行讀寫操作,均為靜態函數 <p>
    ?* 編寫者 :luoc<p>
    ?* 編寫日期 :2005-6-22<p>
    ?* 主要public成員變量:<p>
    ?* 主要public方法:?? <p>
    ?**/

    public class XmlOper
    {
    ??? /**
    ???? *構造函數說明:?????? <p>
    ???? *參數說明:?? <p>
    ??? **/
    ??? private XmlOper()
    ??? {???????
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:getNodeList<p>
    ??? * 方法功能:獲取父結點parent的所有子結點<p>
    ??? * 參數說明:@param parent
    ??? * 參數說明:@return <p>
    ??? * 返回:NodeList <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public static NodeList getNodeList(Element parent)
    ??? {
    ??????? return parent.getChildNodes();
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:getElementsByName<p>
    ??? * 方法功能:在父結點中查詢指定名稱的結點集??????????? <p>
    ??? * 參數說明:@param parent
    ??? * 參數說明:@param name
    ??? * 參數說明:@return <p>
    ??? * 返回:Element[] <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public static Element [] getElementsByName(Element parent,String name)
    ??? {
    ??????? ArrayList resList=new ArrayList();
    ??????? NodeList nl=getNodeList(parent);
    ??????? for(int i=0;i<nl.getLength();i++)
    ??????? {
    ??????????? Node nd=nl.item(i);
    ??????????? if(nd.getNodeName().equals(name))
    ??????????? {
    ??????????????? resList.add(nd);
    ??????????? }
    ??????? }
    ??????? Element [] res=new Element [resList.size()];
    ??????? for(int i=0;i<resList.size();i++)
    ??????? {
    ??????????? res[0]=(Element)resList.get(i);
    ??????? }???????
    ??????? logger.debug(parent.getNodeName()+"'s children of "+name+
    ??????????????? "'s num:"+res.length);
    ??????? return res;
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:getElementName<p>
    ??? * 方法功能:獲取指定Element的名稱??????????? <p>
    ??? * 參數說明:@param element
    ??? * 參數說明:@return <p>
    ??? * 返回:String <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public static String getElementName(Element element)
    ??? {
    ??????? return element.getNodeName();
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:getElementValue<p>
    ??? * 方法功能:獲取指定Element的值<p>
    ??? * 參數說明:@param element
    ??? * 參數說明:@return <p>
    ??? * 返回:String <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public static String getElementValue(Element element)
    ??? {
    ??????? NodeList nl=element.getChildNodes();
    ??????? for(int i=0;i<nl.getLength();i++)
    ??????? {
    ??????????? if(nl.item(i).getNodeType()==Node.TEXT_NODE)//是一個Text Node
    ??????????? {???????????
    ??????????????? logger.debug(element.getNodeName()+" has a Text Node.");
    ??????????????? return element.getFirstChild().getNodeValue();
    ??????????? }
    ??????? }??
    ??????? logger.error(element.getNodeName()+" hasn't a Text Node.");
    ??????? return null;
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:getElementAttr<p>
    ??? * 方法功能:獲取指定Element的屬性attr的值??????????? <p>
    ??? * 參數說明:@param element
    ??? * 參數說明:@param attr
    ??? * 參數說明:@return <p>
    ??? * 返回:String <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public static String getElementAttr(Element element,String attr)
    ??? {
    ??????? return element.getAttribute(attr);
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:setElementValue<p>
    ??? * 方法功能:設置指定Element的值??????????? <p>
    ??? * 參數說明:@param element
    ??? * 參數說明:@param val <p>
    ??? * 返回:void <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public static void setElementValue(Element element,String val)
    ??? {
    ??????? Node node=element.getOwnerDocument().createTextNode(val);
    ??????? NodeList nl=element.getChildNodes();
    ??????? for(int i=0;i<nl.getLength();i++)
    ??????? {
    ??????????? Node nd=nl.item(i);
    ??????????? if(nd.getNodeType()==Node.TEXT_NODE)//是一個Text Node
    ??????????? {???????????
    ????????????????? nd.setNodeValue(val);
    ????????????????? logger.debug("modify "+element.getNodeName()+"'s node value succe.");
    ????????????????? return;
    ??????????? }
    ??????? }??
    ??????? logger.debug("new "+element.getNodeName()+"'s node value succe.");
    ??????? element.appendChild(node);???????
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:setElementAttr<p>
    ??? * 方法功能:設置結點Element的屬性<p>
    ??? * 參數說明:@param element
    ??? * 參數說明:@param attr
    ??? * 參數說明:@param attrVal <p>
    ??? * 返回:void <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public static void setElementAttr(Element element,
    ??????????? String attr,String attrVal)
    ??? {
    ??????? element.setAttribute(attr,attrVal);
    ??? }
    ???
    ???
    ??? /**
    ??? * 方法名稱:addElement<p>
    ??? * 方法功能:在parent下增加結點child<p>
    ??? * 參數說明:@param parent
    ??? * 參數說明:@param child <p>
    ??? * 返回:void <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public static void addElement(Element parent,Element child)
    ??? {
    ??????? parent.appendChild(child);
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:addElement<p>
    ??? * 方法功能:在parent下增加字符串tagName生成的結點<p>
    ??? * 參數說明:@param parent
    ??? * 參數說明:@param tagName <p>
    ??? * 返回:void <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public static void addElement(Element parent,String tagName)
    ??? {???????
    ??????? Document doc=parent.getOwnerDocument();
    ??????? Element child=doc.createElement(tagName);
    ??????? parent.appendChild(child);
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:addElement<p>
    ??? * 方法功能:在parent下增加tagName的Text結點,且值為text<p>
    ??? * 參數說明:@param parent
    ??? * 參數說明:@param tagName
    ??? * 參數說明:@param text <p>
    ??? * 返回:void <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public static void addElement(Element parent,String tagName,String text)
    ??? {
    ??????? Document doc=parent.getOwnerDocument();
    ??????? Element child=doc.createElement(tagName);
    ??????? setElementValue(child,text);
    ??????? parent.appendChild(child);
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:removeElement<p>
    ??? * 方法功能:將父結點parent下的名稱為tagName的結點移除<p>
    ??? * 參數說明:@param parent
    ??? * 參數說明:@param tagName <p>
    ??? * 返回:void <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public static void removeElement(Element parent,String tagName)
    ??? {
    ??????? logger.debug("remove "+parent.getNodeName()+"'s children by tagName "+tagName+" begin...");
    ??????? NodeList nl=parent.getChildNodes();
    ??????? for(int i=0;i<nl.getLength();i++)
    ??????? {
    ??????????? Node nd=nl.item(i);
    ??????????? if(nd.getNodeName().equals(tagName))
    ??????????? {
    ??????????????? parent.removeChild(nd);
    ??????????????? logger.debug("remove child '"+nd+"' success.");
    ??????????? }
    ??????? }
    ??????? logger.debug("remove "+parent.getNodeName()+"'s children by tagName "+tagName+" end.");
    ??? }
    ???
    ???
    ??? /*全局變量*/???
    ??? static Logger logger=Logger.getLogger("XmlOper");
    }

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

    評論

    # re: 采用org.w3c.dom進行XML操作(二)(轉載) 2009-04-14 15:20 -

    沒用的東本  回復  更多評論   

    主站蜘蛛池模板: 久久九九免费高清视频| 色欲aⅴ亚洲情无码AV| 国产亚洲av片在线观看18女人 | 亚洲一区日韩高清中文字幕亚洲| 亚洲黄色免费网址| 久久免费看少妇高潮V片特黄| 亚洲精品国产首次亮相| 亚洲沟沟美女亚洲沟沟| 亚洲网站在线观看| 久久亚洲精品成人777大小说| 亚洲国产成人五月综合网 | 好看的电影网站亚洲一区 | 国产成人无码免费看片软件| 亚洲中文无码永久免| 国产亚洲精品激情都市| 无人影院手机版在线观看免费 | 久久久久无码精品亚洲日韩| 国产一区在线观看免费| 最近免费中文字幕视频高清在线看 | 亚洲人成黄网在线观看| 亚洲a一级免费视频| 亚洲国产美女精品久久| 老色鬼久久亚洲AV综合| 亚洲jjzzjjzz在线观看| 国产成人综合亚洲| 黄色网页在线免费观看| 中文字幕免费在线看电影大全| 在线观看免费无码视频| 亚洲一区免费观看| 国产精品麻豆免费版| 中文字幕专区在线亚洲| 国产精品亚洲A∨天堂不卡| 久久亚洲精品成人AV| 亚洲爆乳少妇无码激情| 国产色爽免费无码视频| 国产一级一片免费播放| 亚洲av无码不卡一区二区三区| 综合自拍亚洲综合图不卡区| 黄网站色成年片大免费高清| 午夜免费啪视频在线观看| 午夜视频在线观看免费完整版|