Why is this code giving me the following error on IE: “Unknown Method. //author[@select = –>concat(‘tes'<–,’ts’)]?
function a()
{
try
{
var xml ='<?xml version="1.0"?><book><author select="tests">blah</author></book>';
var doc = new ActiveXObject("Microsoft.XMLDOM");
doc.loadXML(xml);
node = doc.selectSingleNode("//author[@select = concat('tes','ts')]");
if(node == null)
{
alert("Node is null");
}
else
{
alert("Node is NOT null");
}
} catch(e)
{
alert(e.message);
}
}
Well
Microsoft.XMLDOMis an antiquated programming id and you end up with an old MSXML version that by default does not support XPath 1.0 but rather an old, never standardized draft version. These days MSXML 6 is part of any OS or OS with latest service pack that Microsoft supports so simply consider to use an MSXML 6 DOM document with e.g.If you insist on using
Microsoft.XMLDOMthen calldoc.setProperty("SelectionLanguage", "XPath")before anyselectSingleNodeorselectNodescalls trying to use XPath 1.0.