0

I looked at this question and I understand that when dealing with an ajax response, it is possible to instruct IE10 to create an msxml document instead of a native XML document. This is in order to use legacy xpath methods such as selectSingleNode.

However, in my case I am not reading the XML from an ajax response, I am reading it from raw text in javascript. E.g., this is a code snippet that works in most browsers:

var xmlString = "<a><b>some data</b></a>";
vor xmlDocument = new DOMParser().parseFromString(xmlString, "text/xml");

In IE10, DOMParser returns a native XML document. What can I do differently here in order to get an MSXML document, similarly to the way it's done with ajax?

Community
  • 1
  • 1
Yoni
  • 10,171
  • 9
  • 55
  • 72

1 Answers1

0

You'll have to explicitly create an instance of the parser using ActiveXObject:

var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
xmlDocument.async = 'false';
xmlDocument.loadXML(xmlString);

alert(xmlDocument.selectSingleNode('//a/b').text);

See also

ps. if you need to test for ActiveXObject being available, then check out window.ActiveXObject difference in IE11, testing for window.ActiveXObject !== undefined seems to work fine.

Community
  • 1
  • 1
ndm
  • 59,784
  • 9
  • 71
  • 110