XMLDOM 是用于访问 XML 文档的组件,IIS 中默认是安装了的。
相关阅读:XMLHTTP 速查 IE 数据岛(1) IE 数据岛(2) IE 数据岛(3) IE 数据岛(4)
示例
dim xmlDoc
set xmlDoc = server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async = false
xmlDoc.Load(server.MapPath("xmldata.xml"))
if xmlDoc.parseError.errorCode <> 0 then
'发生错误
response.Write("错误说明:" & xmlDoc.parseError.reason)
else
'显示数据
dim i
for i=0 to xmlDoc.childNodes(1).childNodes.length-1
response.Write("<p>" & xmlDoc.childNodes(1).childNodes(i).childNodes(0).childNodes(0).nodeValue & "</p>")
next
end if
set xmlDoc = nothing
讲解
async true-异步操作,false-同步操作,如果是同步操作则在读取完毕后再执行其它操作,所以一般为 false。
Load(xmlFilePath) 读取本地磁盘的 XML 文件。
LoadXML(xmlURL) 读取远程 XML 文件。
parseError 错误信息对象,常用的属性是 errorCode 和 reason。
errorCode 错误代码,0 表示没有发生错误。
reason 错误的文字说明。
childNodes XML 子节点,子节点还可以包含子节点,数组形式,所以可以用 length 表示当前节点的子节点个数。第一个 xmlDoc.childNodes(0) 是 <?xml version="1.0" encoding="gb2312"?>,xmlDoc.childNodes(1) 才是 XML “正文”。
nodeType 节点类型
nodeTypeString 节点类型文字描述
nodeName 节点名称
nodeValue 节点值
| nodeType | nodeTypeString | nodeName | nodeValue |
|---|---|---|---|
| 1 | element | tagName | null |
| 2 | attribute | name | value |
| 3 | text | #text | content of node |
| 4 | cdatasection | #cdata-section | content of node |
| 5 | entityreference | entity reference name | null |
| 6 | entity | entity name | null |
| 7 | processinginstruction | target | content of node |
| 8 | comment | #comment | comment text |
| 9 | document | #document | null |
| 10 | documenttype | doctype name | null |
| 11 | documentfragment | #document fragment | null |
| 12 | notation | notation name | null |
示例
dim xmlDoc, xslDoc
set xmlDoc = server.CreateObject("Microsoft.XMLDOM")
set xslDoc = server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async = false
xslDoc.async = false
xmlDoc.Load(server.MapPath("xmlData.xml"))
xslDoc.Load(server.MapPath("xslData.xsl"))
response.Write(xmlDoc.TransformNode(xslDoc))
set xslDoc = nothing
set xmlDoc = nothing
讲解
本例中使用两个 XMLDOM 对象,用 XSL 文件将 XML 文件格式化为 HTML 文件输出。
xmlDoc.TransformNode(xslDoc)) 返回 HTML 文档。
其它
| Property | Description |
|---|---|
| nodeType | 节点类型 |
| nodeTypeString | 节点类型文字描述 |
| nodeName | 节点名称 |
| nodeValue | 节点值 |
| attributes | 当前节点的所有属性对象 |
| childNodes | 当前节点的所有子节点对象 |
| parentNode | 当前节点的父节点 |
| ownerDocument | 文档的根节点 |
| FirstChild | 当前节点的第一个子节点 |
| LastChild | 当前节点的最后一个子节点 |
| PreviousSibling | 当前节点的上一个兄弟节点 |
| BextSibling | 当前节点的下一个兄弟节点 |
| HasChildNodes() | 是否有子节点 |
| CloneNode(allChilds) | 复制并返回节点,allChilds 为 true,则复制所有的子节点 |
| InsertBefore(newNode, refNode) | 在节点-refNode 的前面插入新的节点 |
| AppendChild(newChild) | 向当前节点追加一个子节点 |
| ReplaceChild(newNode, oldNode) | 用新节点替换原节点 |
| RemoveChild(nodeName) | 删除子节点 |
| async | true-异步,false-同步 |
| Load | 读取本地 XML 文档 |
| LoadXML | 读取远程 XML 文档 |
| parseError | 错误对象 |
| TransformNode | 用 XSL 文件将 XML 文件格式化为 HTML 文件并返回 |
相关阅读
