Kelas operasi ASP XML, teman-teman yang ingin mempelajari operasi xml dapat merujuknya. Copy kodenya seperti berikut : Class XMLClass
ObjXml pribadi
xmlDoc pribadi
xmlPath pribadi
'//================== = =============
'
Sub Kelas_inisialisasi
Setel objXml = Server.CreateObject(MSXML2.DOMDocument)
objXml.preserveWhiteSpace = benar
objXml.async = salah
Akhiri Sub
SubKelas_Terminasi
Setel objXml = Tidak Ada
Akhiri Sub
'//================== ==============
'
Fungsi Publik BuatBaru(sName)
Setel tmpNode = objXml.createElement(sName)
objXml.appendChild(tmpNode)
Setel Buat Baru = tmpNode
Fungsi Akhir
'
Fungsi Publik OpenXml(sPath)
OpenXml=Salah
sPath=Server.MapPath(sPath)
'Respon.Tulis(sPath)
xmlPath = sPath
Jika objXml.load(sPath) Lalu
Setel xmlDoc = objXml.documentElement
OpenXml=Benar
Akhiri Jika
Fungsi Akhir
'
Sub LoadXml Publik (sStr)
objXml.loadXML(sStr)
Setel xmlDoc = objXml.documentElement
Akhiri Sub
Sub Publik InceptXml(xObj)
Atur objXml = xObj
Setel xmlDoc = xObj.documentElement
Akhiri Sub
'//================== = =============
'
AddNode Fungsi Publik(sNode,rNode)
' sNode STRING nama simpul
'rNode OBJECT menambahkan referensi node superior dari node tersebut
' ===== = ============
RedupkanTmpNode
Setel TmpNode = objXml.createElement(sNode)
rNode.appendChild TmpNode
Tetapkan AddNode = TmpNode
Fungsi Akhir
'
AddAttribute Fungsi Publik(sName,sValue,oNode)
' sName STRING nama atribut
' nilai atribut sValue STRING
'Objek oNode OBJECT dengan atribut tambahan
' ===== = ============
oNode.setAttribute sNama,sValue
Fungsi Akhir
'
Fungsi Publik AddText(FStr,cdBool,oNode)
Redupkan tmpText
Jika cdBool Lalu
Setel tmpText = objXml.createCDataSection(FStr)
Kalau tidak
Setel tmpText = objXml.createTextNode(FStr)
Akhiri Jika
oNode.appendChild tmpText
Fungsi Akhir
' ===== = ===== = =====
'
Fungsi Publik GetAtt(aName,oNode)
' aName STRING nama atribut
' Referensi simpul OBJEK oNode
' ===== = ============
redupkan tmpValue
tmpValue = oNode.getAttribute(aName)
DapatkanAtt = tmpNilai
Fungsi Akhir
'
Fungsi Publik GetNodeName(oNode)
' Referensi simpul OBJEK oNode
GetNodeName = oNode.nodeName
Fungsi Akhir
'
Fungsi Publik GetNodeText(oNode)
' Referensi simpul OBJEK oNode
GetNodeText = oNode.childNodes(0).nodeValue
Fungsi Akhir
'
Fungsi Publik GetNodeType(oNode)
' Referensi simpul OBJEK oNode
GetNodeType = oNode.nodeValue
Fungsi Akhir
'
Fungsi Publik FindNodes(sNode)
Redupkan tmpNodes
Setel tmpNodes = objXml.getElementsByTagName(sNode)
Setel FindNodes = tmpNodes
Fungsi Akhir
'
Fungsi Publik FindNode(sNode)
RedupkanTmpNode
Setel TmpNode=objXml.selectSingleNode(sNode)
Setel TemukanNode = TmpNode
Fungsi Akhir
'
Fungsi Publik DelNode(sNode)
Redupkan TmpNodes,Nodesss
Setel TmpNodes=objXml.selectSingleNode(sNode)
Setel Nodesss=TmpNodes.parentNode
Nodesss.removeChild(TmpNodes)
Fungsi Akhir
'
Fungsi Publik GantiNode(sNode,sText,cdBool)
'ganti Anak
Redupkan TmpNodes,tmpText
Setel TmpNodes=objXml.selectSingleNode(sNode)
'AddText sText,cdBool,TmpNodes
Jika cdBool Lalu
Setel tmpText = objXml.createCDataSection(sText)
Kalau tidak
Setel tmpText = objXml.createTextNode(sText)
Akhiri Jika
TmpNodes.replaceChild tmpText,TmpNodes.firstChild
Fungsi Akhir
Instruksi Pemrosesan Fungsi Pribadi
'//--Buat deklarasi XML
Redupkan objek
Setel objPi = objXML.createProcessingInstruction(xml, versi=&chr(34)&1.0&chr(34)& pengkodean=&chr(34)&gb2312&chr(34))
'//--Tambahkan kehidupan xml ke dokumen xml
objXML.masukkan Sebelum objPi, objXML.childNodes(0)
Fungsi Akhir
'//================== ================
'
Fungsi Publik SaveXML()
'Instruksi Pemrosesan()
objXml.simpan(xmlPath)
Fungsi Akhir
'
Fungsi Publik SaveAsXML(sPath)
Instruksi Pemrosesan()
objXml.simpan(sPath)
Fungsi Akhir
'//================== = =====
'Statistik terkait
'
Properti Dapatkan Root
Setel Root = xmlDoc
Properti Akhir
'
Properti Dapatkan Panjangnya
Panjangnya = xmlDoc.childNodes.length
Properti Akhir
'//================== = =====
'Tes terkait
Properti GetTestNode
TestNode = xmlDoc.childNodes(0).teks
Properti Akhir
Kelas Akhir
Metode utama dan implementasi file XML pengoperasian ASP di sisi server melalui XMLDom
Untuk volume data kecil, file xml memiliki banyak keunggulan dibandingkan ACCESS dalam pengambilan dan pembaruan.
Saya pernah menguji tanpa menggunakan database dan menyimpan informasi anggota website, informasi data produk, informasi transaksi, dan informasi penyesuaian website dalam tiga file xml mengujinya. Tidak yakin.
Mari kita bicara tentang metode utama membuat, menanyakan, memodifikasi, dll. operasi xml
'Buat objek DOM
atur objDom=server.CreateObject(MicroSoft.XMLDom)
'Dapatkan data xml
'Metode 1 Dapatkan data xml dari file xml
objDom.beban(c:/test.xml)
'Metode 2 Dapatkan data string data xml
objDom.loadxml(<people><man name=sd/></people>)
'Buat objek simpul
Setel Newnode=objDom.CreateElement(orang)
'Beri nilai pada simpul ini
Newnode.Teks=Orang
'Tambahkan atribut ke node ini
Setel NewAttribute=objDom.CreateNode(atribut,nama,)
Atribut Baru.Teks= Zhang San
Newnode.SetAttributeNode Atribut Baru
'Tambahkan node anak ke node ini
Setel NewnodeChild=objDom.CreateElement(alamat)
Newnode.appendChild NewnodeChild
'Simpan objek simpul ini
objDom.appendChild Newnode
objDom.simpan(c:/test.xml)
'Temukan objek simpul
setel objtofind=objdom.documentElement.SelectSingleNode(//people/man)
'Dapatkan nama simpul, nilai simpul, nilai atribut tertentu, dan semua xml dari objek simpul ini
namanode=objtofind.nodename
nilai simpul=objtofind.teks
objtofind.GetAttributeNode(name).Nodevalue 'Nilai atribut dengan nama nama atribut
'Dapatkan objek simpul atribut
set objattrtofind=objdom.documentElement.SelectSingleNode(//people/man).GetAttributeNode(nama)
'Dapatkan nama atribut dan nilai atribut dari node ini
nodeattrname=objattrtofind.nodename
nodeattrvalue=objattrtofind.nodevalue
'Hapus objek simpul
set objnode=objdom.documentElement.SelectSingleNode(//people/man) 'Node yang akan dihapus
set objparentnode=objdom.documentElement.SelectSingleNode(//people) 'Node induk dari node yang akan dihapus
objparentnode.removeChild objnode
'Dapatkan kumpulan titik byte dari sebuah node
setel objnodes=objdom.documentElement.SelectSingleNode(//people/man).ChildNodes
Ulangi koleksi ini
Metode 1
untuk setiap elemen di objnode
penamaan byte respon.tulis elemen.nodename
respon.tulis elemen.teks nilai titik byte
Berikutnya
Metode 2
domlength=objnodes.panjang
untuk i = 0 sampai domlength-1
respon.tulis objnodes.childnodes(i).nodename penamaan byte
respon.tulis objnodes.childnodes(i).nilai titik byte teks
Berikutnya
'Dapatkan kumpulan atribut dari sebuah node
setel objnodes=objdom.documentElement.SelectSingleNode(//people/man).GetAttributeNode(name).attributes
Ulangi koleksi ini
untuk setiap elemen di objnode
respon.tulis nama atribut elemen.nodename
nilai atribut respon.tulis elemen.nodevalue
Berikutnya
Setelah Anda dapat dengan terampil menggunakan objek xmldom untuk memanipulasi file xml, Anda dapat menikmatinya
Objek xmlhttp digunakan untuk mewujudkan banyak fungsi di bawah asp.
re:[Transfer]Metode utama dan implementasi file XML pengoperasian ASP di sisi server melalui XMLDom
Feifei, kenapa tidak memperkenalkan penggunaan @? Tanpa ini, banyak hal akan merepotkan.
XML, sebagian orang juga menyebutnya dengan teknologi kompresi data, sesuai dengan namanya XML dapat digunakan sebagai database.
Oleh karena itu, kita dapat menganggap xml sebagai database kecil. Mengapa disebut kecil? Karena fungsi dan kemudahan penerapan XML itu sendiri, masih terdapat perbedaan tertentu dengan database. Jadi mengapa kita menggunakan xml? Karena terkadang beberapa aplikasi kita melakukan akses data, namun jika menggunakan database, tampilannya kurang fleksibel dan nyaman. Saat ini, kita harus menggunakannya dalam kombinasi dengan xml.
Karena xml dapat dianggap sebagai database, langkah pertama tentu saja membuat objek link. (Ambil ASP+xml sebagai contoh)
Cara pembuatannya sama dengan link database, gunakan server.createobject untuk membuatnya.
Begini caranya:
atur xmlDoc= Server.CreateObject(microsoft.xmldom)
xmlDoc.async=salah
xmldata=jalur absolut ke sumber data
xmlDoc.load xmldata 'Gunakan metode pemuatan untuk menautkan di sini
Karena format data xml relatif mudah digunakan, format data tersebut mungkin ilegal karena alasan manusia atau lainnya. Jika Anda terus menggunakannya saat ini, hal itu akan menyebabkan program kehabisan proses. kita sering melakukannya setelah membuat objek link. Validasi format data.
Begini caranya:
jika xmlDoc.parseError.errorCode<>0 maka
….Penanganan kesalahan
<%
'----------
'Pengenalan program: Lengkapi bahasa asp untuk menambah, menghapus, memodifikasi, dan melihat teks dari node yang ditentukan dalam dokumen XML
'Parameter entri: Tidak ada
'Parameter ekspor: Tidak ada
'--------
'Nama fungsi: ConnectXml()
'Parameter entri: nama file nama file xml yang akan dihubungkan atau dibuka
'Parameter ekspor: Tidak ada
'Nilai kembalian: ConnectXml=0, XMLMorntekDocument adalah objek yang berhasil memuat dokumen XML.
'ConnectXml<>0, lalu cetak pesan kesalahan strError
'--------
redupkan XMLMorntekDocument
fungsi ConnectXml (nama file)
redupkan strSourceFile
strSourceFile = Server.MapPath(nama file)
Setel XMLMorntekDocument = Server.CreateObject(Microsoft.XMLDOM)
XMLMorntekDocument.async = salah
XMLMorntekDocument.load(strSourceFile)
ConnectXml=XMLMorntekDocument.parseerror.kode kesalahan
jika XMLMorntekDocument.parseerror.errorcode<>0 lalu
strError=<h2>kesalahan&XMLMorntekDocument.parseerror.kode kesalahan&</h2>
strError=strError&XMLMorntekDocument.parseerror.alasan&<br>
strError=strError&XMLMorntekDocument.parseerror.url&<br>
strError=strError&XMLMorntekDocument.parseerror.line&<br>
strError=strError&XMLMorntekDocument.parseerror.filepos&<br>
strError=strError&XMLMorntekDocument.parseerror.srcText&<br>
respon.tulis strError
berakhir jika
fungsi akhir
'--------
'Nama fungsi: CloseXml()
'Parameter entri: Tidak ada
'Parameter ekspor: Tidak ada
'--------
fungsi CloseXml(XMLMorntekDocument)
jika IsObject(XMLMorntekDocument) lalu
atur XMLMorntekDocument=tidak ada
berakhir jika
fungsi akhir
'--------
'Nama fungsi: SelectXmlNodeText (nama elemen)
'Parameter entri: nama elemen Nama elemen
'Parameter ekspor: Tidak ada
'--------
fungsi SelectXmlNodeText (nama elemen)
nama elemen=//&nama elemen
temp=XMLMorntekDocument.selectSingleNode(nama elemen).teks
pilihXmlNodeText= server.htmlencode(temp)
fungsi akhir
'--------
'Nama fungsi: InsertXmlNodeText (nama befelement, nama elemen, teks elemen)
'Parameter entri: nama elemen Nama elemen yang disisipkan
' befelementname menyisipkan elemen sebelum nama elemen ini
'elementteks Teks elemen yang disisipkan
'Parameter ekspor: Tidak ada
'--------
fungsi InsertXmlNodeText (nama elemen, nama elemen, teks elemen)
befelement redup, elemen
set befelement=XMLMorntekDocument.selectSingleNode(//&befelementname)
setel elemen= XMLMorntekDocument.createelement(nama elemen)
befelement.insertBefore elemen,befelement.firstchild
elemen.teks=teks elemen
fungsi akhir
'--------
'Nama fungsi: UpdateXmlNodeText (nama elemen, teks elemen baru)
'Parameter entri: nama elemen Nama elemen
' Teks baru dari elemen teks elemen baru
'Parameter ekspor: Tidak ada
'--------
fungsi UpdateXmlNodeText (nama elemen, teks elemen baru)
elemen redup
setel elemen=XMLMorntekDocument.selectSingleNode(//&nama elemen)
elemen.teks=teks elemen baru
fungsi akhir
'--------
'Nama fungsi: DeleteXmlNodeText (nama elemen)
'Parameter entri: nama elemen Nama elemen
'Parameter ekspor: Tidak ada
'--------
fungsi DeleteXmlNodeText (nama elemen)
XMLMorntekDocument.selectSingleNode(//&namaelemen).teks =
fungsi akhir
%>
____________________
Artikel ini belum diuji dan kelayakannya tidak diketahui.