【学习笔记】 XML DOM

以前学OC的时候觉得XML太简单了没什么内容,游戏资源加载要用到发现是被teacher忽悠了~~

还有一些没决绝的问题,特别是attributes,感觉不常用就先撂着,要知足常撂:)

吐槽下w3school,乱七八糟东拼西凑的,学习像在找东西!当然作为免费分享站点它还是很伟大的。

从上面找到的总结(总感觉漏了什么):

function loadXML(xmlf){
    var xmlHttp;
    var xmlDoc;
    var xmlDom;
    var xmlEle;
    var strXML = ‘<book>
                    <child>
                        <boy>
                        gaoda
                        </boy>
                        ailisi
                        <girl>
                        </girl>
                    </child>
                    <adult>
                        <man>
                        threebody
                        </man>
                        <woman>
                        moshenxiao
                        </woman>
                    </adult>
                  </book>‘;
    if(window.XMLHttpRequest){
        xmlHttp = new XMLHttpRequest();//!IE

    }else if(window.ActiveXObject){
        xmlHttp = new ActiveXObject(‘Microsoft.XMLHTTP‘);//IE
    }

    if(xmlHttp!=null){
        xmlHttp.onreadystatechange = state_Change;//for async true,complete to run,if false not need 
        xmlHttp.open(‘GET‘,xmlf,false);//GET or POST;xml or asp or PHP...;Async true or false
        xmlHttp.send(null);//GET null;POST xmlDoc
    }

    function state_Change(){
        if(xmlHttp.readyState == 4){//from 0 to 4
            if(xmlHttp.status == 200){//why not use &&?
                //do something
                xmlDom = xmlHttp.responseXML;//XML DOM
                xmlDoc = xmlHttp.responseText;//XML Document
                xmlEle = xmlDom.documentElement;//boot Node?
            }else{

            }
        }
    }

    //parser; XMLHttpRequest for net,parser for location?But XMLHttpRequest can load load location also
    if(window.DOMParser){//!IE
//         xmlDoc = document.implementation.creatDocument(‘‘,‘‘,null);//WTF
//         xmlDoc.async = ‘false‘;
//         xmlDoc.load(xmlf);
//         var parser = new DOMParser();
//         xmlDoc = parser.parserFromString(strXML,‘text/xml‘);
    }else{//IE
//         xmlDoc = new ActiveXObject(‘Microsoft.XMLDOM‘);
//         xmlDoc.async = ‘false‘;//‘false‘?
//         xmlDoc.load(xmlf);//xml file,get DOM or DOC?
//         xmlDoc.loadXML(strXML);//xml string
    }

    //not find firstElementChild/children told by netbar
    //node
    var dom_0 = xmlDom.getElementsByTagName(‘‘)[0];//attention s
    var dom_1 = xmlDom.childNodes[1];
    var dom_2 = dom_0.firstChild;
    var dom_3 = dom_0.lastChild;
    var dom_4 = dom_2.nextSibling;
    var dom_5 = dom_3.previousSibling;
    var dom_6 = dom_3.parentNode;//dom_0

    var l_dom = dom_0.length;//IE<=!IE,#text #conmment in IE will be null but node in !IE

    document.write(dom_0.nodeName);//nodeName,read only
    document.write(dom_0.nodeType);//nodeType,from 1~9 element:1,read only
    document.write(dom_1.childNodes[0].nodeValue);//nodeValue,text in text Node
    //attribute
    var attributes = dom_0.attributes;//attributes,array
    var n_att = attributes.length;//not real length,real = l+8(8 format member)

    document.write(dom_2.getAttribute(‘‘));//getAttribute
    getAttributeNode(‘‘);//difference from getAttribute?
    dom_2.getNamedItem(‘‘);//get attribute

    removeAttribute(‘‘);
    removeAttributeNode(‘‘);WTF

    dom_3.setAttribute(‘‘,‘‘);//setAttribute,if none creat,none addAttribute method
    xmlDom.createAttribute(‘‘)//
    dom_3.setAttributeNode(‘‘);//WTF

    xmlDom.createCDATAsection();//CDATA:<![CDATA[ something data ]]>
    xmlDom.createComment();//note <?--note--?>

    var newEle = xmlDom.createElement(‘‘);//createElement
    var newTex = xmlDom.createTextNode(‘‘);//createTextNode
    var newNod = dom_3.cloneNode(true);//cloneNode,true clone node and childNodes,false only node;

    newEle.appendChild(newTex);//appendChild to Node(new Node)
    dom_3.appendChild(newEle);//appendChild to DOM(exist Node),would it change XML?
    dom_0.insertBefore(dom_1,newEle);//insertBefore
    dom_0.removeChild(dom_2);//removeChild
    dom_0.replaceChild(dom_4);//replace Node
    dom_1.childNodes[0].replaceData(,,‘‘);//position,length,replace text node value
    dom_1.childNodes[0].insertData(,‘‘);//position,str

}

尝试下以后代码里面不用chinese了,还很幼稚的comment~~~Can you understand yourself??

时间: 2025-01-31 07:43:06

【学习笔记】 XML DOM的相关文章

dojo 学习笔记之一 dom.byId dojo.byId registry.byId 的区别

在dojo中,除了沿用Dom结点, dojo 还自定义了一类结点用"dojoType" 进行标识. dojo 称这些结点为widget. 当检测到HTMl文档中某个标签定义了dojoType 属性之后,dojo会调用dojo包中相应的 js 及 css 文件对这个结点进行渲染. 从而这个结点元素就会相应地显示出具有dojo特色的样式及功能. 如此说来, dom.byId 跟 dojo.byId 获取到的就是普通的HTMl文档结构树中的某个结点元素,以下简称dom结点, 而 regist

html学习笔记-XML

html学习笔记-XML Table of Contents 1. XML简介 2. XML用途 3. XML树结构 4. XML语法 5. XML元素 6. XML属性 7. XML验证 8. XML浏览器支持 9. 显示XML 1 XML简介 XML指可扩展标记语言,被设计用来传输和存储数据.是独立于软件和硬件的信息传输工具. XML指可扩展标记语言( EXtensible Markup Language ) XML是一种标记语言 ,很类似HTML XML的设计宗旨是传输数据 ,而非显示数据

WebService学习笔记-XML&Schema&HTTP

XML约束 在XML技术里,可以编写一个文档(文件)来约束一个XML文档的书写规范,这称之为XML约束 1.namespace 相当于schema文件的id 2.targetNamespace属性 用来指定schema文件的namespace的值 3.xmlns属性 引入一个约束, 它的值是一个schema文件的namespace值 4.schemaLocation属性 用来指定引入的schema文件的位置 schema规范中: 1. 所有标签和属性都需要有schema文件来定义 2. 所有的s

.net学习笔记---xml基础知识

一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基础: <?xml version="1.0" encoding="utf-8" ?> <books ISBN="9787544238212"> <title>xml学习笔记</title> <pr

JavaWeb学习笔记——XML解析

DOM解析操作 只在跟节点<addresslist>下面建立一个子节点<name> <?xml version="1.0" encoding="UTF-8"?> <addresslist> <linkman> <name>张三</name> <email>www.baidu.com</email> </linkman> <linkman>

Android学习笔记——xml

转自http://blog.csdn.net/sam_zhang1984 解析 XML 有两种方式: SAX 和 DOM .它们各有利弊. DOM 是把 XML 文档全部装载到内存中,然后当成一树进行处理.其好处是当成树处理起来比较方便,但弊端是如果 XML 文件比较大时,会对内存消耗比较大: SAX 是逐行扫描 XML 文档,逐行解析,而且可以在处理 XML 文档过程中的任意时刻中止处理过程,比如找到我们的目标节点,剩下的 XML 文档内容就可以不读了,直接结束.其弊端是操作起来相对不方便,而

javascript学习笔记之DOM

DOM(文档对象模型),猫叔了一个层次化的节点树 一.DOM NODE相关公共属性与方法 DOM中所有节点都实现了NODE接口,该接口的公共属性和方法如下: 1.节点基本属性 1)NodeType 节点类型,利用12个数值来表示.1代表Element,2代表attribute,3代表Text... 2) NodeName与NodeValue 这两个属性的值完全取决于特定的节点类型 2.节点关系相关属性 I.childNodes属性,返回一个NodeList对象,这是一个有生命,会呼吸的对象,能够

javaSE学习笔记XML解析技术(5)

JAXP技术 JAXP即Java Api for Xml Processing该API主要是SUN提供的用于解析XML数据的一整套解决方案,主要包含了DOM和SAX解析技术.大家可以参见SUN的以下两个包: javax.xml.parsers.*                                   à主要存储的是解析器 org.w3c.dom.*或org.w3c.sax.*     à主要存储的是DOM解析或SAX解析需要的API DOM解析主要采用DOM树的方式进行XML的数据

.net学习笔记---xml序列化

XML序列化是将对象的公共属性和字段转换为XML格式,以便存储或传输的过程.反序列化则是从XML输出中重新创建原始状态的对象.XML序列化中最主要的类是XmlSerializer类.它的最重要的方法是Serialize和Deserialize方法,它位于System.Xml.Serialization命名空间. 一.XML序列化基本要点 在本节开始之前,首先来看一个最简单的示例: namespace 学习测试 { class Program { static void Main(string[]

.net学习笔记---xml操作及读写

一.XML文件操作中与.Net中对应的类 微软的.NET框架在System.xml命名空间提供了一系列的类用于Dom的实现. 以下给出XML文档的组成部分对应.NET中的类: XML文档组成部分 对应.net中的类 处理指令 XmlProcessingInstruction 专指元素节点 XmlElement 属性 XmlAttribute 文本节点 XmlText 节点 XmlNode 文档 XmlDocument XmlWriter 对象的特性 XmlWriterSettings 注释 Xm