101
第第第 XML DOM 9.1 第第 9.2 DOM 第第 9.3 DOM 第第第第 9.4 DOM 第第第第 9.5 XML DOM 第第

第九章 XML DOM

  • 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 DOMDOM12 3 4 5 var xmlDom=new ActiveXObject("MSXML2.DOMDocument.4.0");6 xmlDom.async="false";7 xmlDom.load("ch9-1.xml");8 var xmlObj=xmlDom.documentElement.childNodes;9 //10 document.write(xmlDom.documentElement.nodeName+"");11 //12 var xmlObj=xmlDom.documentElement.childNodes;13 for(var i=0;i
  • 9.2 DOM16 if(xmlObj.item(i).hasChildNodes)17 {18 //19 xmlSubNode=xmlObj.item(i).childNodes;20 for(var j=0;j
  • 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 TextTextCharacterDataElement Attr DOMTextTextXMLHTMLDOMDOM
  • 9.4.5 Text TextENTITY"
  • 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.9 NodeListxmlDOMxmlObjNodeListlengthdocument.write var xmlObj=xmlDom.documentElement.childNodes for(var i=0;i
  • 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 DOM JavaScript for(var i=0;i
  • 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