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

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

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

    blogjava's web log

    blogjava's web log
    ...

    DOM對象簡單使用

    很久沒有真正的寫東西了..忙著找工作..現在工作有個著落了..又有心思研究.學習新的東西了

    這篇為以后學ajax打基礎的


    生成DOM文檔對象的方法
    var xmlDoc=new ActiveXObject("Msxml2.DOMDocument.4.0");
    ??生成XML文檔對象xmlDoc,xmlDoc中包含XML文檔中所有元素和節點

    ?xmlDoc.async=false;
    裝載XML文檔完畢后才開始處理下一步驟

    xmlDoc.load("1.xml");
    將XML文檔裝載到文檔對象中,在內存中形成文檔對象樹

    DOM對象

    1.IXMLDOMDocument/DOMDocument
    2.IXMLDOMNode
    3.IXMLDOMNodeList
    4.IXMLDOMParseError
    5.IXMLDOMAttribute
    6.IXMLDOMDocumentType

    1.IXMLDOMDocument/DOMDocument
    表示DOM樹的最頂層節點
    屬性
    async--是否可以異步下載(可讀寫屬性)
    attributes--返回節點的屬性列表
    baseName--返回節點的標記名稱
    childNodes--子節點列表
    documentElement--返回文檔的根元素(可讀寫屬性)
    方法
    appendChild(在當前節點的最后增加一個新的子節點)

    createNode(根據條件生成一個新節點)
    createnode(type,name,namespaceURL)

    IXMLDOMDocument/DOMDocument示例


    var ?oNodeMap,str,oList,item;
    ????????
    var ?xmlDoc = new ?ActiveXObject( " Msxml2.DOMDocument.4.0 " );
    ????????xmlDoc.async
    = false ;
    ????????xmlDoc.load(
    " candidate.xml " );
    ????????
    if (xmlDoc.parseError != 0 )
    ????????????document.writeln(xmlDoc.parseError.reason
    + " <br> " );
    ????????
    else
    ????????
    {
    ????????????oNodeMap
    = xmlDoc.documentElement.attributes;
    ????????????document.write(oNodeMap.length
    + " <br> " );
    ????????str
    = xmlDoc.documentElement.childNodes[ 1 ].baseName;
    ????????????document.write(str
    + " <br> " );
    ????????????oList
    = xmlDoc.documentElement.childNodes;
    ????????????
    for ( var ?i = 0 ;i < oList.length;i ++ )
    ????????????????document.write(oList[i].xml
    + " <br> " );
    ????????}



    < script?language = " javascript " >
    ????????
    var ?xmlDoc = new ?ActiveXObject( " Msxml2.DOMDocument.4.0 " );
    ????????xmlDoc.async
    = false ;
    ????????xmlDoc.load(
    " candidate.xml " );
    ????????
    var ?root = xmlDoc.documentElement;
    ????????document.write(root.xml);
    ????????document.write(
    " <br>--------------------------<br> " );
    ????????
    var ?node = xmlDoc.createNode( 1 , " 創建節點 " , "" );
    ????????node.text
    = " 這是新創建得節點 " ;
    ????????root.appendChild(node);
    ????????window.alert(root.xml);
    ????????document.write(root.xml);
    ????
    </ script >


    IXMLDOMNode

    屬性
    lastChild--返回最后一個子節點
    nextSibling--指向同一層的下一個兄弟節點
    xml--用XML格式表現該節點和所有子節點的內容
    方法
    selectNodes--根據匹配模式操作來返回符合要求的節點集合
    selectSingleNode--根據匹配模式操作來返回符合要求的第一個節點
    IXMLDOMNode是DOM的基本對象,所有節點都可以看作是一個IXMLDOMNode對象,所有其它DOM對象接口都是繼承它的屬性和方法。

    < html >
    ???
    < body >
    ??????
    < script? language ="javascript" >
    ????????
    var ?xmlDoc = new ?ActiveXObject( " Msxml2.DOMDocument.4.0 " );
    ????????xmlDoc.async
    = false ;
    ????????xmlDoc.load(
    " candidate.xml " );
    ????????
    var ?root = xmlDoc.documentElement;
    ????????
    var ?node = root.lastChild;
    ????????window.alert(node.xml);
    ????????
    var ?firstNode = root.childNodes[ 0 ];
    ????????
    var ?nextNode = firstNode.nextSibling;
    ????????window.alert(nextNode.xml);
    ????
    </ script >
    ???
    </ body >
    </ html >

    < html >
    ???
    < body >
    ??????
    < script? language ="javascript" >
    ????????
    var ?xmlDoc = new ?ActiveXObject( " Msxml2.DOMDocument.4.0 " );
    ????????xmlDoc.async
    = false ;
    ????????xmlDoc.load(
    " candidate.xml " );
    ????????
    var ?root = xmlDoc.documentElement;
    ????????
    var ?node = root.selectNodes( " PERSON/NAME " );
    ????????window.alert(node.length);
    ????
    </ script >
    ???
    </ body >
    </ html >


    IXMLDOMNodeList

    屬性
    length--接口對象中包含的節點數量。
    方法
    nextNode--返回節點集合中下一個節點。
    節點的集合
    IXMLDOMParseError
    屬性
    line--錯誤所在行號
    linepos--錯誤在行中的位置
    reason--發生錯誤的原因
    srcText--錯誤行文本
    用此接口捕獲XML文檔中存在的錯誤(包括XML結構完整錯誤及有效性錯誤)

    IXMLDOMParseError示例

    < html >
    ???
    < body >
    ??????
    < script? language ="javascript" >
    ????????
    var ?xmlDoc = new ?ActiveXObject( " Msxml2.DOMDocument.4.0 " );
    ????????xmlDoc.async
    = false ;
    ????????xmlDoc.load(
    " errorxml.xml " );
    ????????
    if (xmlDoc.parseError.errorCode != 0 )
    ????????
    {
    ????document.writeln(
    " 錯誤所在的行號: " ? + ?xmlDoc.parseError.line? + ? " <br> " );
    ????document.writeln(
    " 錯誤所在的列號: " ? + ?xmlDoc.parseError.linepos? + ? " <br> " );
    ????document.writeln(
    " 錯誤原因: " ? + ?xmlDoc.parseError.reason? + ? " <br> " );
    ????document.writeln(
    " 錯誤行文本: " ? + ?xmlDoc.parseError.srcText? + ? " <br> " );
    ????????}

    ????
    </ script >
    ???
    </ body >
    </ html >


    IXMLDOMAttribute
    表示元素的相關屬性
    屬性
    nodeType--返回節點類型
    ownerDocument--返回該節點的根節點
    text--返回節點的文本和子節點樹
    value--返回屬性的值
    xml--返回當前節點及其所有子節點的內容
    方法
    appendChild
    selectSingleNode
    IDOMAttribute示例

    <html>
    <body>
    ???
    <script?language="javascript">
    ????????
    var?xmlDoc=new?ActiveXObject("Msxml2.DOMDocument.4.0");
    ????????xmlDoc.async
    =false;
    ????????xmlDoc.load(
    "candidate.xml");
    ????????
    var?node=xmlDoc.documentElement.childNodes[0];
    document.write(
    "節點類型:"+node.nodeType+"<br>");
    document.write(
    "根元素節點名稱:"?+node.ownerDocument.documentElement.tagName?+?"<br>");
    document.write?(
    "當前節點的屬性值:"?+?node.attributes[0].value?+?"<br>");
    document.write(
    "當前節點及其子節點所包含的文本:"?+?node.text?+?"<br>");
    ????
    </script>?
    </body>
    </html>

    IXMLDOMDocumentType

    屬性
    entities--返回實體集,包括內部和外部DTD定義的
    name--返回文檔類型的名字
    nodeTypeString--返回節點類型的字符串表示
    方法
    removeChild--從返回的子節點集中刪除特定子節點,并返回它
    replaceChild--從返回的子節點集中用新節點替換特定老節點


    IXMLDOMDocumentType示例

    <html>
    ????
    <body>
    ????
    <script?language="javascript">
    ????????
    var?xmlDoc=new?ActiveXObject("Msxml2.DOMDocument.4.0");
    ????????xmlDoc.async
    =false;
    ????????xmlDoc.load(
    "candidate.xml");
    ????????
    var?root=xmlDoc.documentElement;
    ????????
    var?node=root.childNodes[1];
    ????????window.alert(
    "當前節點的類型為:"?+?node.childNodes[0].nodeTypeString);
    ????????
    var?element=xmlDoc.createElement("Resume");
    ????????element.text
    ="添加的新元素";
    ????????root.childNodes[
    1].replaceChild(element,node.childNodes[0]);
    ????????window.alert(node.xml);
    ????
    </script>
    ???
    </body>
    </html>


    上示例用到的XML文件
    <?xml?version="1.0"?>
    <PEOPLE??id="fdsfsd"??ds="sdfsd">
    ????
    <PERSON?PERSONID="E01">
    ????????
    <NAME>Tony?Blair</NAME>
    ????????
    <ADDRESS>10?Downing?Street,?London,?UK</ADDRESS>
    ????????
    <TEL>(061)?98765</TEL><FAX>(061)?98765</FAX>
    ????????
    <EMAIL>blair@everywhere.com</EMAIL>
    ????
    </PERSON>
    ????
    <PERSON?PERSONID="E02">
    ????????
    <NAME>Bill?Clinton</NAME>
    ????????
    <ADDRESS>White?House,?USA</ADDRESS>
    ????????
    <TEL>(001)?6400?98765</TEL><FAX>(001)?6400?98765</FAX>
    ????????
    <EMAIL>bill@everywhere.com</EMAIL>
    ????
    </PERSON>
    ????
    <PERSON?PERSONID="E03">
    ????????
    <NAME>Tom?Cruise</NAME>
    ????????
    <ADDRESS>57?Jumbo?Street,?New?York,?USA</ADDRESS>
    ????????
    <TEL>(001)?4500?67859</TEL><FAX>(001)?4500?67859</FAX>
    ????????
    <EMAIL>cruise@everywhere.com</EMAIL>
    ????
    </PERSON>
    ????
    <PERSON?PERSONID="E04">
    ????????
    <NAME>Linda?Goodman</NAME>
    ????????
    <ADDRESS>78?Crax?Lane,?London,?UK</ADDRESS>
    ????????
    <TEL>(061)?54?56789</TEL><FAX>(061)?54?56789</FAX>
    ????????
    <EMAIL>linda@everywhere.com</EMAIL>
    ????
    </PERSON>
    </PEOPLE>?????

    posted on 2006-07-22 10:46 record java and net 閱讀(4193) 評論(3)  編輯  收藏 所屬分類: xml and html 、AJAX

    評論

    # re: DOM對象簡單使用 2006-07-22 20:53 TiGERTiAN

    不推薦使用微軟的xmldoc對象,因為只有在IE下有用,在獲取了xmlHttp.responseXML之后可以使用document對象來調用整個文檔,并可以用getElementsByTagName來調用節點,再通過他的一些方法來調用所需數據,這樣可以通用多種瀏覽器不怕兼容性問題,至少我寫的東西在的ie,firefox,opera下都可以使用,在用方法setAttribute設置屬性例如colspan的時候IE是colSpan而其它的瀏覽大小寫不礙事,這個需要你在寫js控制格式的時候注意一下  回復  更多評論   

    # re: DOM對象簡單使用 2006-07-22 22:04 吳某人-不斷地學習

    恩。

    多謝指點。  回復  更多評論   

    # re: DOM對象簡單使用 2006-08-24 03:08 急救

    請問如何通過dom設置一個列的colspan大小啊
    我今天試了好幾次 設置失敗
    真的急
    哪個朋友知道了請加196028170 告訴我一下  回復  更多評論   

    導航

    常用鏈接

    留言簿(44)

    新聞檔案

    2.動態語言

    3.工具箱

    9.文檔教程

    友情鏈接

    搜索

    最新評論

    主站蜘蛛池模板: 四虎成人精品在永久免费| 日本一区免费电影| 亚洲午夜久久久影院| 黄床大片30分钟免费看| 成人永久免费高清| 亚洲国产精品无码久久九九大片| 夭天干天天做天天免费看| 亚洲色偷偷综合亚洲av78| 好大好深好猛好爽视频免费| 亚洲成a人片在线不卡一二三区 | 色噜噜综合亚洲av中文无码| 九九美女网站免费| 久久精品国产亚洲av麻豆小说| 最近免费最新高清中文字幕韩国| 亚洲国产日韩在线成人蜜芽| 成人黄18免费视频| 小说区亚洲自拍另类| 婷婷综合缴情亚洲狠狠尤物| 好男人资源在线WWW免费| 亚洲日韩区在线电影| 国产成人精品免费午夜app | a毛片免费在线观看| 亚洲a在线视频视频| 国产成人精品免费午夜app| 亚洲欧美不卡高清在线| 亚洲色偷拍区另类无码专区| 精品国产麻豆免费人成网站| 亚洲精品国产成人| 四虎影视精品永久免费| XXX2高清在线观看免费视频| 久久亚洲AV成人无码软件| 国产免费av片在线无码免费看 | 麻豆视频免费播放| WWW亚洲色大成网络.COM| 久久亚洲精品视频| 我想看一级毛片免费的| 中国性猛交xxxxx免费看| 亚洲综合一区二区国产精品| 成年人免费观看视频网站| 国产免费爽爽视频在线观看| 亚洲人成电影网站久久|