1
有人可以解釋爲什麼這個JavaScript代碼輸出零而不是一個?另外,當元素// e [2]和// e [3]被交換時,它會起作用,爲什麼?MSXML字符串比較問題
doc = new ActiveXObject("MSXML2.DOMDocument.4.0");
doc.loadXML(
"<r> " +
" <e id='a'> " +
" <e id='b'/> " +
" <e id='c'/> " +
" </e> " +
"</r> ")
doc.setProperty("SelectionNamespaces", "xmlns:ms='urn:schemas-microsoft-com:xslt'");
WScript.Echo(doc.selectNodes("/r/e[ms:string-compare(e/@id,'c','en-US', 'i')=0]/@id").length);
你爲什麼不使用'計數(/ R/E/E [@id = 'C'!])'? – 2010-12-17 22:21:55
這很奇怪,但是WScript.Echo(doc.selectNodes(「/ r/e [e/@ id ='c']/@ id」)。length);雖然工作。 – 2010-12-19 14:43:04
@Alejandro和@Samuel Zhang:我更新了問題和xpath。我想做一個不區分大小寫的搜索,但看起來字符串比較函數是buggy。我原來並沒有添加第三和第四個參數,因爲它無法以任何方式工作,我想盡可能簡化示例代碼。 – Mike 2010-12-19 23:19:57