functiontestXml(){varobjXml=newActiveXObject('MSXML2.DOMDocument');varstrXml="abcd";objXml.setProperty("SelectionLanguage","XPath");objXml.loadXML(strXml);varobjaa=objXml" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

selectSingleNode方法中,用[0]還是[1]來(lái)選第一

系統(tǒng) 2156 0
????今天寫(xiě)了這樣一段代碼:
< script?language = " javascript " >
???
function ?testXml()
???
{
??????
var ?objXml? = ? new ?ActiveXObject('MSXML2.DOMDocument');
??????
var ?strXml? = " <xml><aa>abcd</aa></xml> " ;
??????objXml.setProperty(
" SelectionLanguage " , " XPath " );
?????
??????objXml.loadXML(strXml);
??????
var ?objaa? = ?objXml.selectSingleNode( " xml/aa[0] " );
??????alert(objaa.text);
???}

???testXml();
</ script >
?? 系統(tǒng)拋出異常,未找到對(duì)象。也就是objXml.selectSingleNode("xml/aa[0]");返回的是null。"xml/aa[0]"是如此簡(jiǎn)單的表達(dá)式,錯(cuò)誤只有可能出在"[0]"上。查閱了一些資料后,將objXml.selectSingleNode("xml/aa[0]");修改成objXml.selectSingleNode("xml/aa[1]"),運(yùn)行通過(guò)成功找到了節(jié)點(diǎn)。原來(lái)Xpath中節(jié)點(diǎn)計(jì)數(shù)是從1開(kāi)始的。
??? 也許事情不是這樣簡(jiǎn)單,我曾經(jīng)隱約記得寫(xiě)過(guò)objXml.selectSingleNode("xml/aa[0]")這樣的代碼,并且也能正確的找到節(jié)點(diǎn)。我將代碼進(jìn)行了以下修改:
< script?language = " javascript " >
???
function ?testXml()
???
{
??????
var ?objXml? = ? new ?ActiveXObject('MSXML2.DOMDocument');
??????
var ?strXml? = " <xml><aa>abcd</aa></xml> " ;
??????
// objXml.setProperty("SelectionLanguage","XPath");不再采用Xpath方式
?????
??????objXml.loadXML(strXml);
??????
var ?objaa? = ?objXml.selectSingleNode( " xml/aa[1] " );
??????alert(objaa.text);
???}

???testXml();
</ script >
???? 系統(tǒng)拋出異常,提示未找到對(duì)象。難道非Xpath方式選取節(jié)點(diǎn),節(jié)點(diǎn)計(jì)數(shù)是從0開(kāi)始的?我將objXml.selectSingleNode("xml/aa[1]")修改成objXml.selectSingleNode("xml/aa[0]"),代碼成功運(yùn)行,并且找到節(jié)點(diǎn)。
??? 由此我們不難看出,非Xpath方式選取節(jié)點(diǎn)時(shí),第一個(gè)節(jié)點(diǎn)用[0]來(lái)標(biāo)示;而用Xpath方式選取節(jié)點(diǎn)時(shí),第一個(gè)節(jié)點(diǎn)用[1]來(lái)標(biāo)示。注意,只有在MSXML2.DOMDocument 4.0以下版本才默認(rèn)采用非Xpath方式選取節(jié)點(diǎn),即類似正則表達(dá)式的方式選取。
???? 為什么會(huì)造成這種情況呢?也許是當(dāng)年微軟設(shè)計(jì)該組件的時(shí)候Xpath標(biāo)準(zhǔn)還沒(méi)有正式出臺(tái),也或者是Xpath標(biāo)準(zhǔn)沒(méi)有兼顧微軟以前的設(shè)計(jì),出現(xiàn)了最不應(yīng)該出現(xiàn)的不兼容性。

selectSingleNode方法中,用[0]還是[1]來(lái)選第一個(gè)匹配節(jié)點(diǎn)呢?


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 男人在线网站 | 91九色蝌蚪| 久久99热国产这有精品 | 婷婷激情四月 | 久久久精品午夜免费不卡 | 91久久国产青草亚洲 | 99久久精品视香蕉蕉er热资源 | 久草最新视频 | 日韩a级片| 91手机在线视频 | 亚洲精品国产一区二区三区四区 | 亚洲欧美一区二区三区国产精品 | 婷婷激情五月综合 | 综合另类小说色区色噜噜 | 看黄色免费网站 | 亚洲操| 国产高清视频免费 | 亚洲精品久中文字幕 | 国产成人免费视频精品一区二区 | 久久一er精这里有精品 | 久久久久久全国免费观看 | 玖玖在线免费视频 | 成人毛片国产a | 一区国严二区亚洲三区 | 亚洲欧美精品一中文字幕 | 中文字幕伦理聚合第一页 | 国产一区二区三区久久 | 欧美日韩亚洲国产一区二区综合 | 国产成人欧美一区二区三区的 | 一级毛片美国一级j毛片不卡 | 国产原创麻豆精品视频 | 奇米影视第四色在线观看 | 天天干狠狠干 | 四虎1515| 69一级毛片| 黄色一级网 | 成人在线视频网址 | 欧美国产亚洲精品高清不卡 | 免费精品美女久久久久久久久久 | 99久久精品毛片免费播放 | 国产精品亚洲片在线观看麻豆 |