Upload
bikita
View
61
Download
8
Embed Size (px)
DESCRIPTION
第九章 XML DOM. 9.1 概述 9.2 一个 DOM 示例 9.3 DOM 基础知识 9.4 DOM 常用接口 9.5 XML DOM 设计. 9.1 概述. DOM(Document Object Model ,文本对象模型 ) 是一组接口规范,为应用程序提供访问文本对象的方法和属性。 XML DOM 专门用于访问 XML 文档数据。 - PowerPoint PPT Presentation
Citation preview
XML DOM 9.1 9.2 DOM 9.3 DOM 9.4 DOM 9.5 XML DOM
9.1 DOM(Document Object Model)XML DOMXMLDOMDOM Level 1DOM Level 2DOM Level 3DOM Level 3DOM3 DOMDOMDOMDOM
9.2 DOM XMLDOMXMLXML DOM9.1 7.10XMLch9-1.xmlDOMfilesfilefilenametypedatesizeXML9.1
9.2 DOM
9.2 DOM
9.2 DOM9.2HTMLJava4-285-7DOMxmlDomxmlDom.loadXML7xmlObjxmlDomdocumentElementXMLxmlObj10documentwrite
9.2 DOM13-27childNodes lengthitemnodeNamehasChildNodesXML DOM
9.3 DOM9.3.1 DOM DOM9.3DOMCDATA
9.3.1 DOM
9.3.1 DOMDOM 3DocumentElementProcessingInstructionComment DocumentType DocumentFragmentElementProcessingInstructionCommentTextCDATASectionEntityReference DocumentType EntityReference ElementProcessingInstructionCommentTextCDATASectionEntityReferenceElementElementTextCommentProcessingInstructionCDATASection EntityReference Attr TextEntityReference ProcessingInstruction
9.3.1 DOM Comment Text CDATASection EntityElementProcessingInstructionCommentTextCDATASection EntityReference NotationDOMNodeList Element.getElementsByTagNameNSelementNamedNodeMapNodeList NamedNodeMapDO DOM
9.3.1 DOMNodeListNamedNodeMap DOMNodeList NodeListNodeListNamedNodeMap TextCommentCDATASectionCharacterData DOM
9.3.2 DOMHTML DOM DOMDOMImplementation.hasFeature(feature, version)"Core""3.0"DOM 3DOM 3 DOM Level 21 DOM 3239.1 9.1
9.3.2 http://www.w3.org/TR/2004/REC-DOM-Level-3-coreDocumentDOM2 DOM129.2 xml 1.0XML XML DOM
9.3.2 9.1 DOM 3
9.3.2
9.3.2 3. DOMDOM 1DOM DOMUnicodeUTF-162XML1.0B UTF-16HTMLXMLUCSUCS [ISO/IEC 10646]DOM216
9.3.2 9.2 DOM 3
9.3.2 2DOM DOMJavaDOMTimeStamp 3DOM DOMJava4DOM DOM JavaDOM
9.4 DOM9.4.1 Document DocumentHTMLXMLDocument
9.4.1 Document
attribute DOMString xmlVersion; // raises(DOMException) on setting attribute boolean strictErrorChecking; attribute DOMString documentURI; Node adoptNode(in Node source) raises(DOMException); readonly attribute DOMConfiguration domConfig; void normalizeDocument();Node renameNode(in Node n, in DOMString namespaceURI, in DOMString qualifiedName) raises(DOMException); };
9.4.1 Document1 doctype DocumentType XMLnullHTMLHTMLDocumentType documentElement Element documentURI DOMString DOMImplementation.createDocumentnull
9.4.1 Document domConfig DOMConfiguration Document.normalizeDocument() implementation DOMImplementation DOMImplementation DOM inputEncoding DOMStringnull strictErrorChecking boolean
9.4.1 Document xmlEncoding DOMString XMLXML xmlStandalone boolean XMLXMLfalse xmlVersion DOMString XMLXMLXML 1.0XMLnull
9.4.1 Document2 adoptNode 1 2 ATTRIBUTE_NODEDOCUMENT_FRAGMENT_NODEELEMENT_NODE ENTITY_REFERENCE_NODEPROCESSING_INSTRUCTION_NODETEXT_NODE CDATA_SECTION_NODECOMMENT_NODE
9.4.1 DocumentDOCUMENT_NODEDOCUMENT_TYPE_NODEENTITY_NODENOTATION_NODE 3 source 4null 5DOCUMENT, DOCUMENT_TYPENOT_ SUPPORTED_ERRNO_MODIFICATION_ALLOWED_ERR
9.4.1 Document createAttribute 1setAttributeNodeURIcreateAttributeNS2name 3 (4)Document.xmlVersionXMLXMLINVALID_CHARACTER_ERR 9.1idfile var newNode=xmlDom. createAttribute ("id");
9.4.1 DocumentXMLINVALID_CHARACTER_ERR 9.1idfile var newNode=xmlDom. createAttribute ("id"); createAttributeNS 1URInullnamespaceURI 2namespaceURIURIqulifiedName
9.4.1 Document36Node.nodeNameNode.namespaceURINode.prefixNode.localNameAttr.nameNode.nodeValueNode.nodeNameNode.namespaceURIURI Node.prefixNode.localNameAttr.nameNode.nodeValue4Document.xmlVersionXMLXMLINVALID_CHARACTER_ERRNAMESPACE_ERR"XML" NOT_SUPPORTED_ERR
9.4.1 Document createCDATASection 1CDATASection2dataCDATASection3CDATASection4HTMLNOT_SUPPORTED_ERRNAMESPACE_ERR"XML" NOT_SUPPORTED_ERR
9.4.1 Document createComment 1Comment2dataComment3Comment4 createDocumentFragment 1DocumentFragment23DocumentFragment4
9.4.1 Document createElement 1Element URIcreateElementNS2tagName3ElementtagNameURInull
9.4.1 Document4Document.xmlVersionXMLXMLINVALID_CHARACTER_ERRfilevar newNode=xmlDom.createElement("file"); createElementNS 1URInullnamespaceURI2namespaceURIURIqulifiedName
9.4.1 Document3ElementNode.nodeNameNode.namespaceURINode.prefixNode.localNameElement.tagNameURI4createAttributeNS createEntityReference 1EntityReferenceEntityReferenceEntity2name3EntityReference
9.4.1 Document4Document.xmlVersionXMLXMLINVALID_CHARACTER_ERRHTMLNOT_SUPPORTED_ERR createTextNode 1text2data3text4 var newText=xmlDom.createTextNode("");
9.4.1 Document getElementById 1IDElementnullIDDOMAtrr.isIdID2elementIdid3null4 getElementsByTagName 1tag
9.4.1 Document2tagname*XMLtagname34getElementsByTagNamestudent1xmlnode.getElementsByTagName("student").item(1);
getElementsByTagNameNS 1URI
9.4.1 Document2tagname*LocalName3 4 importNode 1
9.4.1 DocumentURI 2ATTRIBUTE_NODEDOCUMENT_FRAGMENT_NODEELEMENT_NODEENTITY_NODEENTITY_ REFERENCE_NODENOTATION_NODEPROCESSING_INSTRUCTION_NODETEXT_NODECDATA_SECTION_NODECOMMENT_NODE 3importedNodedeeptrue 4
9.4.1 Document5NOT_SUPPORTED_ERRXMLINVALID_CHARACTER_ERR normalizeDocument1 234 renameNode1ELEMENT_NODEATTRIBUTE_NODE
9.4.1 Document 2nnamespaceURIURIqualifiedName 3 4ELEMENT_NODEATTRIBUTE_NODENOT_SUPPORTED_ERRXMLINVALID_CHARACTER_ERRqualifiedNameNAMESPACE_ERRWRONG_DOCUMENT_ERR
9.4.2 Node NodeDOM 1 node
9.4.2 Node
9.4.2 Node 2 appendChild xmlDOM var xmlroot=xmlDom.documentElement.appendChild(newNode); cloneNode hasChildNodes true
9.4.2 Node if(xmlObj.item(i).hasChildNodes){}
insertBefore xmlDOMxmlnode Var newNode=xmlDom.createElement("file"); xmlnode.insertBefore(newNode,xmlnode.lastChild);
9.4.2 Node removeChild getElementsByTag- Name(file) replaceChild
9.4.3 ElementHTMLXMLnodeattribute1 schemaTypeInfo TagName Node.localNamenull2 getAttribute getAttributeNode getElementsByTagName
9.4.3 ElementNodeList hasAttribute name removeAttribute DTDURI removeAttributeNode AttrAttrDTDURI
9.4.3 Element setAttribute escapedAttr TextEntityReference setAttributeNode. file var newNode=xmlDom.createElement("file");
9.4.3 Element var xmlroot=xmlDom.documentElement.appendChild(newNode); xmlDom.documentElement.lastChild.setAttribute("id","00000100"); setAttributeNode setIdAttribute isIdID AttrisIdDocumentgetElementByIdAttrschemaTypeInfo
9.4.3 ElementsetIdAttributeNode isIdIDAttrisIdDocumentgetElementByIdAttrschemaTypeInfo
9.4.4 Attr AttrnodeDOMDOMDOMXMLid=00000100idDOM DOM
9.4.4 Attr XMLAttrTextEntityReference DOM DOMAttrvaluenodeValue isId IDDocumentgetElementById
9.4.4 Attr name NodelocalNamenull ownerElement null schemaTypeInfo value Textnamevalue
9.4.4 Attr DOMnamevalue var xmlNodes=xmlDom.documentElement.childNodesvar xmlItem1=xmlNodes.item(0).attributes.item(0)var xmlAttrName=xmlItem1.name var xmlAttrValue=xmlItem1.value xmlDOMitem(0)namevalue
9.4.5 Text2 replaceWholeText nullText splitText offset
9.4.5 Textoffsetoffsetoffset
9.4.6 CommentCommentCharacterData''.XMLHTML"--"XML
9.4.7 DocumentFragmentDocumentFragmentDocumentDOMDOMDocumentFragmentDocumentDocumentABADocumentFragmentAB
9.4.7 DocumentFragmentDocumentFragmentDocumentDocumentFragmentDocumentDocumentFragment
9.4.8 DOMImplementation DOMImplementation createDocument DOM createDocumentType DocumentType
9.4.8 DOMImplementation getFeature API hasFeature DOM
9.4.9 NodeList NodeListNodeListDOM NodeList0.1 length 0length-12 item null
9.4.10 NamedNodeMap NamedNodeMap NamedNodeMapNodeListNamedNodeMapNamedNodeMapDOM1 length 0length-1
9.4.10 NamedNodeMap 2 getNamedItem item null removeNamedItem setNamedItem nodeNmae
9.4.11 CharacterData CharacterDataDOMTextCharacterDataDOMCharacterDataoffset0 1 data length 160CharacterData2 appendData
9.4.11 CharacterData deleteData 16count insertData offfset replaceData offsetcount substringData offsetcount
9.4.12 NameList NameLIst NameList01 length(name,namespaceURI)0length-12 contains NameList getName n
9.5 XML DOM 9.5.1 DOM XMLWindowsXML DOMInternet Explorer. MSXML.dllXMLMSXML2.04.0MSXML4.dllMSXML2.DOMDocument.4.01XML DOM XML DOM JavaScriptvar xmlDom=new ActiveXObject("MSXML2.DOMDocument.4.0"); VBScript Dim xmlDom Set xmlDom=CreateObject(MSXML2.DOMDocument.4.0)
9.5.1 DOM ASP Dim xmlDom Set xmlDom=Server.CreateObject(MSXML2.DOMDocument.4.0)
automationMSXMLMSXML.dllMSXMLXMLMSXML.DOMDocumentMSXMLIEMSXMLMSXML.dll4.0 MSXMLXML. JavaScript var xmlDom=new ActiveXObject("MSXML.DOMDocument") var xmlDom=new ActiveXObject("Microsoft.DOMDocument")
9.5.1 DOM2XML XMLloadXMLXMLXML var xmlDom=new ActiveXObject(MSXML2.DOMDocument.4.0); xmlDom.async=false; xmlDom.load(XMLfile); //XML 3DOM XMLxmlDomXML9.4xmlDom.
9.5.1 DOM XML(ch9-2.xml)9.41 documentdocumentElementxmlDomXML var root=xmlDom.documentElement; rootstudentlist2 nodechildNodes var xmlNode=root.childNodes;
9.5.1 DOM xmlNodestudent 3 item()childNodes0length-1length student var xmlItem=xmlNode.item(0); studentstudent var xmlItemName=xmlNode.item(0).nodeName; student() var xmlItemText=xmlNode.item(0).text;
9.5.1 DOM nstudent var xmlItem=xmlNode.item(n);4 VBScriptJavaScript VBScript for each item in xmlNode next for j=0 to xmlNode.length-1 next
9.5.1 DOMstudent var xmlAttrName=xmlItem1.name;student var xmlAttrValue=xmlItem1.value; 9.2 XML DOMXMLXMLch9-2.xmlVBScriptP.2949.59.5 9.2DOM
9.5.1 DOM 9.3 XML DOMXMLXMLch9-2.xmlJavaScript
var xmlDom=newActiveXObject("MSXML2.DOMDocument.4.0"); xmlDom.async="false"; xmlDom.load("ch9-2.xml"); var xmlObj=xmlDom.documentElement.childNodes; for(var i=0;i
9.5.1 DOM 9.4 XML DOMXMLXMLch9-2.xmlJavaScript P.295
9.5.1 DOM4XML XMLXML DOMloadXMLXML 9.5 XML DOMXMLJavaScript P.296 9.7
9.5.2 DOM DOM 3documentnodeDOM1 nodeappendChildDOMdocumentcreateElementnodeappendChildelementsetAttributeDOMxmlDom
9.5.2 DOM xmlDom.load("ch9-2.xml"); var newNode=xmlDom.createElement("student"); var xmlroot=xmlDom.documentElement.appendChild(newNode); xmlDom.documentElement.lastChild.setAttribute("id","2004150212"); ch9-2.xmlXML 9.6 DOM P.298
9.5.2 DOM2 9.6nodeinsertBeforeinsertBefore(newNode,spcNode)studentlist(lastChild)student 9.7 var xmlnode=xmlDom.documentElement; var newNode=xmlDom.createElement("student"); xmlnode.insertBefore(newNode,xmlnode.lastChild);
9.5.2 DOM studentnameitem(1)9.7 9.8 var insNode=xmlDom.documentElement.childNodes; var newNode=xmlDom.createElement("name"); var addNew=insNode.item(1).appendChild(newNode); var newText=xmlDom.createTextNode(""); insNode.item(1).lastChild.appendChild(newText); 3 noderemoveChildDOM
9.5.2 DOM 9.9 var xmlnode=xmlDom.documentElement; xmlnode.removeChild(xmlnode.getElementsByTagName("student").item(1)); studentname studentaddressprovince4 DOM
9.5.2 DOM 9.10 DOMstudentname var xmlNode=xmlDom.documentElement.childNodes.item(0); var modNode=xmlNode.childNodes.item(0); modNode.text=; 9.11 385 var xmlNode=xmlDom.documentElement.childNodes.item(0); var xmlSubNode=xmlNode.childNodes.item(3); xmlSubNode.childNodes.item(2).text="385"; 9.11
9.5.2 DOM 9.11 ch9-2.xmlDOM
9.5.3 XSLTXML DOMXSLXMLDOMDOMXML9.12 ch9-2.xmlXSLch9-2.xslP.3029.13 DOMXSLT(ch9-13.htm) XML DOMXMLDOMtransformNode.P.3029.12
9.5.3 XSLT9.12 DOMXMLXSL
9.5.4 XML DOMXMLparseErrorXMLJavaScriptif(xmlDom.parseError!=0) // document.write(xmlDom.parseError.reason);else // display=getNodes(xmlDom); VBScript if(xmlDom.parseError!=0) then document.write(xmlDom.parseError.reason) else display=getNodes(xmlDom)
9.5.4 display ParseError9.4 parseError
9.5.5 DOM XMLDOMDOMXML XMLDOM3DOM1 6.24 9.14 P.3049.13
9.5.5 DOM
9.5.5 DOM2 9.15 DOM P.305 9.14
9.5.5 DOM
9.5.5 DOMXMLXMLCDATAXML9.16 DOMP.307