JSFiddle - React, Tailwind, and code Playground
by JAAulde
JavaScript
$.ajax( {
url: '/echo/xml/',
type: 'POST',
data: {
xml: '<foo><bar>Test</bar></foo>'
},
dataType: 'xml',
success: function( doc )
{
/* THIS IS THE CODE IN QUESTION */
var barNode, bazNode;
barNode = doc.selectSingleNode( '//bar' );
bazNode = doc.createElement( 'baz' );
$( barNode ).before( bazNode );
/* END CODE IN QUESTION */
}
} );
// mozXPath [http://km0ti0n.blunted.co.uk/mozxpath/] [email protected]
// Code licensed under Creative Commons Attribution-ShareAlike License
// http://creativecommons.org/licenses/by-sa/2.5/
if( document.implementation.hasFeature("XPath", "3.0") )
{
XMLDocument.prototype.selectNodes = function(cXPathString, xNode)
{
if( !xNode ) { xNode = this; }
var oNSResolver = this.createNSResolver(this.documentElement)
var aItems = this.evaluate(cXPathString, xNode, oNSResolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)
var aResult = [];
for( var i = 0; i < aItems.snapshotLength; i++)
{
aResult[i] = aItems.snapshotItem(i);
}
return aResult;
}
XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode)
{
if( !xNode ) { xNode = this; }
var xItems = this.selectNodes(cXPathString, xNode);
if( xItems.length > 0 )
{
return xItems[0];
}
else
{
return null;
}
}
Element.prototype.selectNodes = function(cXPathString)
{
if(this.ownerDocument.selectNodes)
{
return this.ownerDocument.selectNodes(cXPathString, this);
}
else{throw "For XML Elements Only";}
}
Element.prototype.selectSingleNode = function(cXPathString)
{
if(this.ownerDocument.selectSingleNode)
{
return this.ownerDocument.selectSingleNode(cXPathString, this);
}
else{throw "For...