Kode operasi xmldom untuk memfasilitasi kode yang perlu digabungkan dengan xml <script bahasa=vbscript runat=server>
' ===== = ===========
'Penulis: Jadilah diri sendiri
'Waktu: 2005-3-15
==================== ==========
Kelas XMLKelas
ObjXml pribadi
XmlDoc pribadi
xmlPath pribadi
'//================== ==============
'<!--Acara selama inisialisasi dan logout kelas-->
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
'//================== ==============
'<!--Buat dokumen XML baru-->
Fungsi Publik BuatBaru(sName)
Setel tmpNode = objXml.createElement(sName)
objXml.appendChild(tmpNode)
Setel Buat Baru = tmpNode
Fungsi Akhir
'<!--Baca dokumen XML dari luar -->
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
'<!--Baca string XML dari luar -->
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
'//================== ==============
'<!--Tambahkan simpul baru-->
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
'<!--Tambahkan atribut baru-->
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
'<!--Tambahkan konten simpul-->
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
' ===== = ===== = =====
'<!--Dapatkan nilai atribut yang ditentukan dari node-->
Fungsi Publik GetAtt(aName,oNode)
' aName STRING nama atribut
' Referensi simpul OBJEK oNode
' ===== = ============
redupkan tmpValue
tmpValue = oNode.getAttribute(aName)
DapatkanAtt = tmpNilai
Fungsi Akhir
'<!--Dapatkan nama simpul-->
Fungsi Publik GetNodeName(oNode)
' Referensi simpul OBJEK oNode
GetNodeName = oNode.nodeName
Fungsi Akhir
'<!--Dapatkan konten simpul-->
Fungsi Publik GetNodeText(oNode)
' Referensi simpul OBJEK oNode
GetNodeText = oNode.childNodes(0).nodeValue
Fungsi Akhir
'<!--Dapatkan tipe simpul-->
Fungsi Publik GetNodeType(oNode)
' Referensi simpul OBJEK oNode
GetNodeType = oNode.nodeValue
Fungsi Akhir
'<!--Temukan semua node dengan nama node yang sama-->
Fungsi Publik FindNodes(sNode)
Redupkan tmpNodes
Setel tmpNodes = objXml.getElementsByTagName(sNode)
Setel FindNodes = tmpNodes
Fungsi Akhir
'<!--Periksa node yang identik-->
Fungsi Publik FindNode(sNode)
RedupkanTmpNode
Setel TmpNode=objXml.selectSingleNode(sNode)
Setel TemukanNode = TmpNode
Fungsi Akhir
'<!--Hapus sebuah simpul-->
Fungsi Publik DelNode(sNode)
Redupkan TmpNodes,Nodesss
Setel TmpNodes=objXml.selectSingleNode(sNode)
Setel Nodesss=TmpNodes.parentNode
Nodesss.removeChild(TmpNodes)
Fungsi Akhir
'<!--Ganti simpul-->
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
'//================== ===============
'<!--Simpan dokumen XML-->
Fungsi Publik SaveXML()
'Instruksi Pemrosesan()
objXml.simpan(xmlPath)
Fungsi Akhir
'<!--Simpan dokumen XML-->
Fungsi Publik SaveAsXML(sPath)
Instruksi Pemrosesan()
objXml.simpan(sPath)
Fungsi Akhir
'//================== = =====
'Statistik terkait
'<!--Dapatkan simpul akar-->
Properti Dapatkan Root
Setel Root = xmlDoc
Properti Akhir
'<!--Dapatkan jumlah node anak di bawah node akar-->
Properti Dapatkan Panjangnya
Panjang = xmlDoc.childNodes.length
Properti Akhir
'//================== = =====
'Tes terkait
Properti GetTestNode
TestNode = xmlDoc.childNodes(0).teks
Properti Akhir
Kelas Akhir
</skrip>