第三章數(shù)據(jù)描述與數(shù)據(jù)交換_第1頁
第三章數(shù)據(jù)描述與數(shù)據(jù)交換_第2頁
第三章數(shù)據(jù)描述與數(shù)據(jù)交換_第3頁
第三章數(shù)據(jù)描述與數(shù)據(jù)交換_第4頁
第三章數(shù)據(jù)描述與數(shù)據(jù)交換_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)描述與數(shù)據(jù)交換XML簡介(1)

XML(eXtensibleMarkupLanguage)是由W3C于1998年2月發(fā)布的一種標(biāo)準(zhǔn)。它是SGML的一個簡化子集,它將SGML的豐富功能與HTML的易用性結(jié)合到Web應(yīng)用中,以一種開放的自我描述方式定義數(shù)據(jù)結(jié)構(gòu),在描述數(shù)據(jù)內(nèi)容的同時能突出對結(jié)構(gòu)的描述,從而體現(xiàn)出數(shù)據(jù)之間的關(guān)系。以XML為基礎(chǔ)的新一代WWW環(huán)境是直接面對Web數(shù)據(jù)的,不僅可以很好地兼容原有的Web應(yīng)用,而且可以更好地實(shí)現(xiàn)Web中的信息共享與交換。

XML簡介(2)XML的主要特點(diǎn)如下:(1)可擴(kuò)展性:XML是一種元標(biāo)記語言,用戶可以根據(jù)自己的需要和習(xí)慣來定義標(biāo)記和屬性,從而可以以一種更有意義的方式描述信息,這方面與HTML存在根本性的區(qū)別。XML中的標(biāo)簽是用來標(biāo)識數(shù)據(jù)內(nèi)容本身的,就像我們在程序中給變量取一個比較容易理解的名稱一樣。例如:<姓名>小明</姓名>

XML簡介(3)(2)結(jié)構(gòu)性:XML數(shù)據(jù)存儲格式不受顯示格式的制約,一般包括三個要素:數(shù)據(jù)、結(jié)構(gòu)以及顯示方式。XML把文件的三要素獨(dú)立開來,分別處理。首先把顯示格式從數(shù)據(jù)內(nèi)容中獨(dú)立出來,保存在樣式文件(StyleSheet)中,這樣如果需要改變文檔的顯示方式,只要修改樣式文件就行了。于是就把資料的內(nèi)容和其表現(xiàn)形式合理地隔開,從而大大提高XML數(shù)據(jù)的可理解性、可交換性和重用性。

XML簡介(4)(3)平臺獨(dú)立性:XML文件是純文本,獨(dú)立于平臺和應(yīng)用。

由于上述特點(diǎn),XML目前正在迅速成為網(wǎng)絡(luò)數(shù)據(jù)描述和交換的標(biāo)準(zhǔn)。

XML文件的正規(guī)性和有效性(1)與HTML相比,XML的格式要嚴(yán)格的多。它包括兩方面的要求,即格式的正規(guī)性和文件的有效性。

實(shí)際使用的XML文件必須是一個格式正規(guī)的XML文件,否則,解析器或應(yīng)用程序就不能對其進(jìn)行有效的分析與處理。

XML文件的正規(guī)性和有效性(2)格式正規(guī)的XML文件的主要要求:每個元素都要有一個起始標(biāo)簽和一個結(jié)束標(biāo)簽;每個XML文檔都要有一個唯一的根元素;元素和屬性的名字區(qū)分大小寫;元素必須正確的嵌套,在結(jié)構(gòu)上不能交迭,如下的嵌套是不正確的:<a>..<b>..</a>..</b>;有些字符內(nèi)容不能直接使用,必須由其它的字符組合代替(例如使用<;代替<);屬性的值必須包含在引號(單引號或雙引號)之中;空元素可以用簡單的方式描述(如<a></a>可以簡化成<a/>)。XML文件的正規(guī)性和有效性(3)格式正規(guī)的XML文件由三部分組成:(1)序言(可選)指出現(xiàn)在文件的開始標(biāo)簽或根元素之前的信息,由它們提供有關(guān)XML文件總體情況的信息,如編碼方式、樣式表等。(2)文件元素其定義形式是一個簡單的層次樹,每個文檔都有且僅有一個根結(jié)點(diǎn),稱其為文件根。(3)尾聲(可選)出現(xiàn)在文件元素之后的內(nèi)容,可包含注釋或空白。XML文件的正規(guī)性和有效性(4)元素是xml文件的組成部分,元素可由其它元素、其它類型數(shù)據(jù)等組成。XML元素間的關(guān)系:由于XML元素必須規(guī)定根元素,所以根元素以下的元素都為子元素,相互之間為兄弟元素關(guān)系。為了數(shù)據(jù)存儲方便,應(yīng)確保子元素內(nèi)容與根元素相關(guān),并且各個兄弟元素間最好也有邏輯上的關(guān)聯(lián)。XML元素內(nèi)容:XML文件是用于存儲數(shù)據(jù)的,因此它一定要有內(nèi)容,內(nèi)容可以是空白內(nèi)容,也可以是簡單的文本或單一數(shù)據(jù),也可以是復(fù)雜的多個數(shù)據(jù)列,甚至還可以是其它的分類子元素。XML元素命名規(guī)則:同Java、C等命名規(guī)則類似,可以是英文字母或中文,可以用數(shù)字和字母作為名字開頭,但名稱中不能出現(xiàn)空格,可以用下劃線取代空格的功能來進(jìn)行詳細(xì)命名,而且在名稱中嚴(yán)禁出現(xiàn)冒號。

屬性是包含關(guān)于元素的額外信息的元素部分。在XML中,屬性值可以被用來為元素添加額外的說明信息。

XML文件的正規(guī)性和有效性(5)<?XMLversion=“1.0”,encode=“GB2312”?><booklist><book><書名>計(jì)算機(jī)網(wǎng)絡(luò)</書名><作者>謝希仁</作者><出版社>電子工業(yè)出版社/</出版社></book><book><書名>微機(jī)原理及應(yīng)用</書名><作者>周明德</作者><出版社>清華大學(xué)出版社</出版社></book></booklist>XML文件的正規(guī)性和有效性(6)booklistbook書名計(jì)算機(jī)網(wǎng)絡(luò)作者謝希仁出版社電子工業(yè)出版社book書名微機(jī)原理及應(yīng)用作者出版社周明德清華大學(xué)出版社XML文件的正規(guī)性和有效性(7)

有時,XML文件是正規(guī)的還不夠,還要求它是有效的,即要遵循有關(guān)的DTD或Schema所建立的規(guī)則。一個有效的XML文件只能包含DTD或Schema所規(guī)定的元素和屬性,而且還要符合它們所確定的嵌套規(guī)則和數(shù)據(jù)類型。

當(dāng)我們利用DTD或Schema檢查XML文件的有效性時,就是對XML文件的確認(rèn)。文檔類型定義DTD

XML不同于HTML,XML并沒有自己固定標(biāo)準(zhǔn)的標(biāo)記以及屬性。而用戶要使用自己的標(biāo)記、屬性或者是實(shí)體參考等就要自行定義它們。而這些定義的工作要在DTD文檔類型定義中進(jìn)行。DTD為XML文件定義了該文件中應(yīng)該包含的或者是可以包含的元素、標(biāo)記、屬性和實(shí)體的一個清單以及它們之間的相互關(guān)系。

XMLschema

XMLSchema為一類文件建立了一個模式,規(guī)范了文件中的標(biāo)簽和文本可能的組合形式。它不僅包括了DTD能實(shí)現(xiàn)的所有功能,而且它本身就是規(guī)范的XML文件。XMLSchema提供了一系列新特色,大大彌補(bǔ)了DTD的不足:支持?jǐn)?shù)據(jù)類型、支持屬性分組、可以更新定義的內(nèi)容模式、支持名字空間(名字空間的作用是指明元素是屬于哪個文件的)。XML的應(yīng)用領(lǐng)域(1)描述數(shù)據(jù)。與樣式表相結(jié)合形成形式多樣的數(shù)據(jù)表現(xiàn)形式。(2)通過對XML文檔的操作實(shí)現(xiàn)數(shù)據(jù)傳輸。(3)通過統(tǒng)一的DTD或Schema產(chǎn)生的XML文件完成對異構(gòu)數(shù)據(jù)源的數(shù)據(jù)采集和數(shù)據(jù)整合,消除已有的數(shù)據(jù)孤島,有利于網(wǎng)絡(luò)環(huán)境下的系統(tǒng)集成。(4)使用XML數(shù)據(jù)形式產(chǎn)生圖形、動畫、聲音。ASP簡介

ASP(ActiveServerPage)是一種服務(wù)器端的開發(fā)環(huán)境,利用它開發(fā)者可以把超文本、任何腳本和ActiveX組件組合在一起,從而生成動態(tài)的、交互的Web應(yīng)用程序。ASP目前已經(jīng)成為Web應(yīng)用程序開發(fā)的主流環(huán)境。ASP的基本工作原理

ASP文件的擴(kuò)展名均為.ASP,一個ASP文件相當(dāng)于一個可執(zhí)行文件,它必須被放在Web服務(wù)器上一個有執(zhí)行權(quán)限的目錄下。當(dāng)用戶從客戶端瀏覽器輸入一個ASP文件的地址后,瀏覽器就將這個URL請求發(fā)給Web服務(wù)器,Web服務(wù)器開始調(diào)用指定的ASP文件,并由嵌入Web服務(wù)器的ASP解釋程序?qū)⒈徽埱蟮腁SP文件從頭讀到底,執(zhí)行每一條命令,然后動態(tài)生成一個HTML頁面并傳送給客戶端瀏覽器。ASP中的XML應(yīng)用(采用VBScript語言)通過ADO獲取數(shù)據(jù)庫的信息產(chǎn)生XML數(shù)據(jù)島使用DOM對XML文件進(jìn)行解析和處理ADO簡介

ADO(ActiveXDataObject)又稱ActiveX數(shù)據(jù)對象,是微軟推出的一項(xiàng)數(shù)據(jù)庫鏈接技術(shù),它提供了程序開發(fā)人員實(shí)時存取各類數(shù)據(jù)庫(如Access、Oracle、SQLServer、Sybase)的能力,使用ADO可以輕松地完成對各類數(shù)據(jù)庫的查詢、存取等操作。

通過ADO連接數(shù)據(jù)庫

首先,通過ODBC設(shè)置源數(shù)據(jù)庫db1,然后,聲明一個Connection對象cn_ebookstore,用來連接數(shù)據(jù)庫:Setcn_ebookstore=CreateObject("ADODB.Connection")再通過以下語法連接到數(shù)據(jù)庫db1:cn_ebookstore.Open(DNS=“db1”)查詢需要的信息

假設(shè)通過產(chǎn)品名查詢。數(shù)據(jù)庫中的“產(chǎn)品”表記錄了產(chǎn)品的詳細(xì)信息。Session("query")="SELECT*FROM產(chǎn)品"&_“WHEREchanmingLIKE‘%”&Request(“txtQuery”)&“%‘”將查詢得到的記錄保存在recordset對象rsBookdetail中。

SetrsBookdetail=cn_ebookstore.Execute(Session(“query”))XML數(shù)據(jù)島

XML數(shù)據(jù)島是將XML與HTML結(jié)合最直接的方法,它允許直接編寫script來瀏覽XML文件而不需要通過對象標(biāo)記<OBJECT>的引導(dǎo)。大多數(shù)屬于Well-FormedXML文件的內(nèi)容都可以放在XML數(shù)據(jù)島之中。對IE5.x而言,可在HTML網(wǎng)頁中使用標(biāo)記<XML>來建立一個XML數(shù)據(jù)島,并將XML內(nèi)容放置于該<XML>標(biāo)記之內(nèi)。除此之外,也可通過<XML>標(biāo)記的SRC屬性來指定一個外部的XML文件作為XML數(shù)據(jù)島的內(nèi)容。要引用XML數(shù)據(jù)島內(nèi)的數(shù)據(jù),可以使用HTML的某些特定標(biāo)記來對應(yīng)XML數(shù)據(jù)島的某些標(biāo)記,則HTML標(biāo)記就會自動獲取該XML標(biāo)記的數(shù)據(jù)。制作XML數(shù)據(jù)島

制作一個XML數(shù)據(jù)島,其內(nèi)容就是Recordset對象rsBookdetail的各個字段值,也就是該產(chǎn)品的詳細(xì)信息。<xmlid="Detailsdso"><?xmlversion="1.0"?><business><產(chǎn)品名稱><%=rsBookdetail("chanming")%></產(chǎn)品名稱><產(chǎn)地><%=rsBookdetail("chandi")%></產(chǎn)地><等級><%=rsBookdetail("dengji")%></等級><計(jì)價單位><%=rsBookdetail("jijiadanwei")%></計(jì)價單位><單價><%=rsBookdetail("danjia")%></單價><規(guī)格><%=rsBookdetail("guige")%></規(guī)格></business></xml>DOM簡介

DOM(DocumentObjectModel)即文檔對象模型,也可以說是一種API的標(biāo)準(zhǔn)。當(dāng)我們將文件視為一個文檔對象(DOM)時,我們就可以通過(script)程序語言調(diào)用DOM對象,來對該文件做數(shù)據(jù)的訪問,并且利用程序?qū)Λ@取的對象數(shù)據(jù)做進(jìn)一步的應(yīng)用操作。

各種DOM對象Node:(1)Document文檔對象,也是樹狀結(jié)構(gòu)的根結(jié)點(diǎn)。(2)Element元素結(jié)點(diǎn)對象,代表的是XML的某一元素。(3)Attr屬性結(jié)點(diǎn)對象,代表的是XML的某一個元素中的某一個屬性。(4)Text文字結(jié)點(diǎn)對象,也就是XML元素或?qū)傩缘膬?nèi)容。Nodelist:結(jié)點(diǎn)列表對象,是由一些結(jié)點(diǎn)所組成的集合,可以通過索引方式,獲取其中的單一結(jié)點(diǎn)。ParseError:剖析對象,可以用來剖析XML文件。XMLDOM

XMLDOM的設(shè)計(jì)思路為:將所有的文件放入樹的各個結(jié)點(diǎn)之中。由于結(jié)點(diǎn)是一個Node對象,因此提供了很多函數(shù)和屬性(如firstChild、lastChild、previousSibling、nodeName、nodeValue、nodeType等),通過這些函數(shù)與屬性,配合Script程序,將可以完成所需要的各項(xiàng)工作。結(jié)點(diǎn)對象的各項(xiàng)屬性說明屬性返回對象說明范例ownerDocumentDocument對象返回?fù)碛性摻Y(jié)點(diǎn)的文件對象currentNode.ownerDocumentParentNodeNode對象返回該結(jié)點(diǎn)的父結(jié)點(diǎn)對象currentNode.parentNodeChildNodesNodelist對象返回該結(jié)點(diǎn)的所有子結(jié)點(diǎn)所形成的結(jié)點(diǎn)列表對象,并可利用索引方式取出各個子結(jié)點(diǎn)。currentNode.childNodes(0)currentNode.childNodes(1)……currentNode.childNodes(n)FirstChildNode對象返回第一個子結(jié)點(diǎn)對象currentNode.firstChildLastChildNode對象返回最后一個子結(jié)點(diǎn)對象currentNode.lastChildpreviousSiblingNode對象返回上一個兄弟結(jié)點(diǎn)對象currentNode.previousSiblingNextSiblingNode對象返回下一個兄弟結(jié)點(diǎn)對象currentNode.nextSibling通過DOM對象讀取XML數(shù)據(jù)島

建立一個文檔對象,并通過該對象讀取XML數(shù)據(jù)島的數(shù)據(jù)。//聲明了一個XMLDOM文檔對象docBook,并直接設(shè)置為XML數(shù)據(jù)島Detailsdso的屬性XMLDocument的返回值,也就是整個XML數(shù)據(jù)島的內(nèi)容SetdocBook=detailsdso.XMLDocument解析XML文件

當(dāng)DOM樹產(chǎn)生之后,所有的數(shù)據(jù)都放在該樹的某些結(jié)點(diǎn)中,于是可以通過對象的相關(guān)屬性來讀取這些數(shù)據(jù)或?yàn)g覽其他的結(jié)點(diǎn)。

setrootNode=docBook.documentElement//獲取根結(jié)點(diǎn)//觀看根元素下的各個子元素i=0forEachchildinrootNode.childNodessetC1=rootNodes.childNodes.item(i)MsgBoxC1.xmli=i+1Next

數(shù)據(jù)整合XML數(shù)據(jù)島xmldso(數(shù)據(jù)來自本地端數(shù)據(jù)庫)<xmlid="xmldso"><?xmlversion="1.0"?><employeelist><employee><員工編號>1</員工編號><姓名>丁當(dāng)</姓名><出生年月>1979-4-4</出生年月><工資>1600</工資></employee>……</employeelist></xml>XML數(shù)據(jù)島xmldso2(數(shù)據(jù)來自遠(yuǎn)程數(shù)據(jù)庫)<xmlid="xmldso2"><?xmlversion="1.0"?><employeelist><employee><員工編號>1</員工編號><家庭地址>南京理工大學(xué)</家庭地址><郵箱>aaa@</郵箱></employee>……</employeelist></xml>整合XML文件(1)利用XMLDOM將兩個數(shù)據(jù)島xmldso和xmldso2整合在一起,xmldso和xmldso2分別為人員基本情況信息。Setdoc=CreateObject("Microsoft.XMLDOM")Setdoc=xmldso.XMLDocumentSetdoc2=CreateObject("Microsoft.XMLDOM")Setdoc2=xmldso2.XMLDocument

因此,doc和doc2分別具體化為代表XML數(shù)據(jù)島xmldso和xmldso2的Document對象。

整合XML文件(2)使用selectNodes函數(shù)來獲取所有“employee”元素結(jié)點(diǎn)所形成的結(jié)點(diǎn)列表對象。Setemployeelist1=doc.selectNodes("http://employee")Setemployeelist2=doc2.selectNodes("http://employee")整合XML文件(3)i=0ForEachnode1inemployeelist1eno1=node1.selectSingleNode("員工編號").firstchild.nodevaluecount=node1.childnodes.length-1ForEachnode2inemployeelist2eno2=node2.selectSingleNode("員工編號").firstchild.nodevalueif(eno1=eno2)thenFork=1Tonode2.childnodes.length-1text=node2.childnodes.item(k).firstchild.nodevaluename=node2.childnodes.item(k).nodenameSetnamenode=doc.createElement(name)Settextnode=doc.createTextNode(text)namenode.appendChildtextnodeemployeelist1.item(i).insertBeforenamenodeemployeelist1.item(i).childnodes.item(count)Nexti=i+1EndIfNextNext整合XML文件(4)經(jīng)過數(shù)據(jù)整合后得到的新的XML數(shù)據(jù)島為:<xmlid="xmldso"><?xmlversion="1.0"?><employeelist><employee><員工編號>1</員工編號><姓名>丁當(dāng)</姓名><出生年月>1979-4-4</出生年月><工資>1600</工資>

<家庭地址>南京理工大學(xué)</家庭地址><郵箱>aaa@</郵箱></employee>……</employeelist></xml>JSP簡介

JSP(JavaServerPage)是ASP的Java版本,它提供了許多和ASP一樣的功能,但是也有很多明顯的區(qū)別:ASP適用于Windows平臺,在非Windows平臺上,JSP的使用比ASP多得多?,F(xiàn)在JSP的腳本語言只限于Java,將來將支持更多的腳本語言。JSP允許創(chuàng)建新標(biāo)簽,允許擴(kuò)展語言本身。JSP中的XML應(yīng)用通過JDBC連接數(shù)據(jù)庫,獲取數(shù)據(jù)庫的信息動態(tài)產(chǎn)生XML文件使用DOM對XML文件進(jìn)行解析和處理JDBC簡介

JDBC(Java數(shù)據(jù)庫連接,JavaDatabaseConnectivity)是一種基于X/Open的SQL命令級接口,它由一組用Java語言編寫的類和接口組成,使得程序開發(fā)人員可以建立一個與數(shù)據(jù)庫無關(guān)、與平臺無關(guān)的編程接口來建立數(shù)據(jù)庫應(yīng)用程序。

使用JDBC連接數(shù)據(jù)庫

//加載驅(qū)動程序,下面的代碼為加載MySQL驅(qū)動程序Class.forName("com.mysql.jdbc.Driver");//注冊MySQL驅(qū)動程序DriverManager.registerDriver(newcom.mysql.jdbc.Driver());//用適當(dāng)?shù)尿?qū)動程序連接到數(shù)據(jù)庫StringdbUrl="jdbc:mysql://localhost:3306/DB?useUnicode=true&characterEncoding=GB2312";StringdbUser="dbuser";StringdbPwd="1234";//建立數(shù)據(jù)庫連接con=java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);//創(chuàng)建一個JDBC聲明stmt=con.createStatement();生成XML文件(1)

//首先獲得一個XML文件的解析器,并解析XML文件生成DOM文檔的接口類,以便訪問DOM。DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();DocumentBuilderbuilder=factory.newDocumentBuilder();//然后,定義一個Document接口描述對應(yīng)于整個XML文件的文檔樹,并創(chuàng)建一個根元素。Documentdocument=builder.newDocument();Elementroot=document.createElement(“公文”);//新建結(jié)點(diǎn)root1,節(jié)點(diǎn)名稱為“公文信息”。Elementroot1=document.createElement(“公文信息”);//新建節(jié)點(diǎn)item,節(jié)點(diǎn)名稱為”保密期限“,將變量baomiqixian的值作為一個文字節(jié)點(diǎn)的值,并將此文字節(jié)點(diǎn)作為item的子節(jié)點(diǎn)。而”保密期限“又作為”公文信息“的子節(jié)點(diǎn)。Elementitem=document.createElement(“保密期限”);item.appendChild(document.createTextNode(baomiqixian));root1.appendChild(item);root.appendChild(root1);生成XML文件(2)//類TransformerFactory實(shí)現(xiàn)獲得將DOM文檔轉(zhuǎn)化為XML文件的轉(zhuǎn)換器TransformerFactorytfactory=TransformerFactory.newInstance();//類Transformer實(shí)現(xiàn)轉(zhuǎn)化APITransformertransformer=tfactory.newTransformer();//將DOM對象轉(zhuǎn)化為DOMSource類對象,該對象表現(xiàn)為轉(zhuǎn)化成別的表達(dá)方式的信息容器DOMSourcesource=newDOMSource(document);//獲得一個StreamResult類對象,該對象是DOM文檔轉(zhuǎn)化成的其他形式的文檔的容器。此處將轉(zhuǎn)化為gongwen1.xml文件。StreamResultresult=newStreamResult(newFile("gongwen1.xml"));//調(diào)用API,將DOM文檔轉(zhuǎn)化為XML文件transformer.transform(source,result);生成XML文件范例<?xmlversion="1.0"encoding="GB2312"?><公文><公文信息><公文標(biāo)題>數(shù)據(jù)交換平臺測試通知</公文標(biāo)題>

<撰文時間>2006-6-1</撰文時間>

<主題詞>通知</主題詞>

<公文字號>0001號</公文字號>

<保密期限>1年</保密期限>

<密級>機(jī)密</密級>

<文種>通知</文種>

<緊急程度>緊急</緊急程度>

<發(fā)文單位>網(wǎng)管中心</發(fā)文單位>

<發(fā)送單位>XXX市財(cái)政局</發(fā)送單位>

<抄送單位>XXX市房產(chǎn)管理局</抄送單位>

<公文正文>正文(略)</公文正文>

</公文信息>

</公文>遍歷XML文件以范例的XML文件為例://獲得根元素的子節(jié)點(diǎn)列表NodeListnodelist=document.getElementByTagName(“公文”);//用遞歸方法實(shí)現(xiàn)DOM文檔的遍歷GetElement(nodelist);//GetElement方法PublicstaticvoidGetElement(NodeListnodelist){for(inti=0;i<nodelist.getLength();i++){Nodecnode=nodelist.item(i);//如果節(jié)點(diǎn)為元素節(jié)點(diǎn),則遞歸調(diào)用GetElementif(cnode.getNodeType()==Node.ELEMENT_NODE){GetElement(cnode.getChildNodes());}elseif(cnode.getNodeType()==Node.TEXT_NODE){//如果節(jié)點(diǎn)為文字節(jié)點(diǎn),則顯示信息System.out.println(cnode.getNodeValue().trim();}}}增加節(jié)點(diǎn)(1)

還是以范例的XML文件為例,要在公文中增加一個新的公文的信息。//獲得根對象,此處“公文”為根元素。Elementroot=document.getDocumentElement();//在DOM文檔中增加一個Element節(jié)點(diǎn)“公文信息”。Elementxinxi=document.createElement(“公文信息”);//在DOM文檔中增加一個Element節(jié)點(diǎn)“公文標(biāo)題”。Elementtitle=document.createElement(“公文標(biāo)題”);//在DOM文檔中增加一個Text節(jié)點(diǎn)。TexttextMsg=document.createTextNode(“公務(wù)員錄取通知”);title.appendChild(textMsg);//把title節(jié)點(diǎn)轉(zhuǎn)化為“公文信息”的子節(jié)點(diǎn)。xinxi.appendChild(title);//把“公文信息”轉(zhuǎn)化為根節(jié)點(diǎn)“公文”的子節(jié)點(diǎn)。root.appendChild(xinxi);

增加節(jié)點(diǎn)(2)增加節(jié)點(diǎn)后的XML文件如下(增加的節(jié)點(diǎn)用紅色字表示):<?xmlversion="1.0"encoding="GB2312"?><公文><公文信息><公文標(biāo)題>數(shù)據(jù)交換平臺測試通知</公文標(biāo)題>

<撰文時間>2006-6-1</撰文時間>

<主題詞>通知</主題詞>

……

</公文信息>

<公文信息><公文標(biāo)題>公務(wù)員錄取通知</公文標(biāo)題>

</公文信息>

</公文>刪除節(jié)點(diǎn)

假設(shè)我們要刪除范例中“公文標(biāo)題”這一節(jié)點(diǎn)。//獲得根對象。Elementroot=document.getDocumentElement();//獲得根元素的子節(jié)點(diǎn),也就是“公文信息”節(jié)點(diǎn)Nodenode=element.getFirstChild();//利用removeChild()方法刪除”公文標(biāo)題“子節(jié)點(diǎn)對象node.removeChild(node.getFirstChild());

修改節(jié)點(diǎn)內(nèi)容(1)

這里將修改范例XML文件中的“公文標(biāo)題”的值。//獲得根對象,此處“公文”為根元素。Elementroot=document.getDocumentElement();//獲得根元素的子節(jié)點(diǎn)對象,也就是“公文”的子節(jié)點(diǎn)Nodenode=root.getFirstChild();//獲得“公文信息”的第一個子節(jié)點(diǎn),也就是“公文標(biāo)題”子節(jié)點(diǎn)。Nodenode1=node.getFirstChild();//在DOM文檔中新建一個Text節(jié)點(diǎn)TexttextMsg=document.createTextNode(“數(shù)據(jù)修改通知");//獲得原來“公文標(biāo)題”的子節(jié)點(diǎn)——文字結(jié)點(diǎn)對象Nodetext1=node1.getFirstChild();//用新建的文字節(jié)點(diǎn)對象替換原有的,達(dá)到修改的目的。node1.replaceChild(textMsg,text1);

修改節(jié)點(diǎn)內(nèi)容(2)修改后的XML文件如下所示(紅色字表示修改內(nèi)容):<?xmlversion="1.0"encoding="GB2312"?><公文><公文信息><公文標(biāo)題>數(shù)據(jù)修改通知</公文標(biāo)題>

<撰文時間>2006-6-1</撰文時間>

<主題詞>通知</主題詞>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論