寫一下如何操作Script裡面的ActiveX組件的屬性與方法,我們必須先稍微涉及MSXMLDOMDocument對象中的loadXML、selectNodes函數及xml屬性。
文章在我的小站上的地址:Web Service學習筆記:在Script中操作ActiveX
(1)loadXML函數
從字串中載入XML檔案到XML DOM對象中。
文法:bSucc=XMLDOMDocument.loadXML(strXML);
參數:strXML,符合XML格式的字串。
傳回值:布爾變數,如果所載入字串為符合XML格式的字串則返回True,否則返回False。
(2)selectNodes函數
在目前指定尋找文法,尋找符合的節點,並將結果以及和IXMLDOMNodeList返回。
文法:XMLDOMList=XMLDOMNode.selectNodes(xpathstr);
參數:xpathstr,XPath文法尋找字串
傳回值:返回所有符合尋找條件的節點所形成的集合對象;若沒有合格節點存在,則返回空集合。
(3)xml屬性
包含目前節點及其下節點的XML表示式。
文法:strXML=XMLDOMNode.xml;
知道了XML DOMDocumnet對象的一些方法與屬性值之後,再來看看在Script中如何操作XML DOM對象。
在下面的例子中,我們就可以感受到在Script中操作XML DOM 對象,就如同在VC或JAVA中操作類的方法與屬性一樣。我們可以object.methodname的方式來操作對象公開的方法,也可以object.methodname的方式來訪問對象的屬性值。
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>在Script中操作ActiveX組件</title>
</head>
<script language="javascript" type="text/jscript">
alert("測試XML對象")
var xmlobj=new ActiveXObject("Microsoft.XMLDOM")
var bSucc=xmlobj.loadXML(
"<Data><item>項目一</item><item>項目二</item></Data>")
if(bSucc)
{
alert("載入XML成功")
alert("所載入的XML:"+xmlobj.xml)
var items=xmlobj.documentElement.selectNodes("item")
alert("根節點下的節點數:"+items.length)
alert("第二項資料的內容為:"+items.item(1).text)
}
else
{
alert("載入XML失敗")
}
</script>
<body>
</body>
</html>
程式的邏輯如下:
(1)以ActiveXObject函數建立XML DOM對象,ProgID為"Microsoft.XMLDOM";
var xmlobj=new ActiveXObject("Microsoft.XMLDOM")
(2)以loadXML函數載入XML字串到XML DOM對象;
var bSucc=xmlobj.loadXML("<Data><item>項目一</item><item>項目二</item></Data>")
(3)以selectNodes函數枚舉合乎尋找到條件的節點。在我們的這個例子裡是要找出根目錄節點之下所有名為"item”的子節點;
var items=xmlobj.documentElement.selectNodes("item")
其中的一個效果如下: