JSFiddle - React, Tailwind, and code Playground

JavaScript

/* Variable Declarations */
var xml = '<rootElement xmlns="http://www.example.com#Th-Mar-8-11:48" xmlns:foo="http://whatever.com"><myElement>Test1</myElement><foo:myElement>Test1</foo:myElement></rootElement>';
var xmlDoc = new DOMParser().parseFromString(xml, "text/xml");
var rootElement = xmlDoc.documentElement;

var nsResolver = (function (element) {
    var
      nsResolver = element.ownerDocument.createNSResolver(element),
      defaultNamespace = element.getAttribute('xmlns');
    
    return function (prefix) {
       return nsResolver.lookupNamespaceURI(prefix) || defaultNamespace;
    };
} (xmlDoc.documentElement));

try {
    var xpathResult, queryEl;
    
    /* First try finding all children of the current node, rootElement */
    xpathResult = xmlDoc.evaluate( "child::*", rootElement, nsResolver, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
    if(queryEl = xpathResult.iterateNext()) {
        console.log("child::* found element " + queryEl.nodeName);
    }
    else {
        console.log("child::* found nothing!");
    }
    
    /* Now try getting only those children with nodeName `myElement` */
    xpathResult = xmlDoc.evaluate( "child::default:myElement", rootElement, nsResolver, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
    if(queryEl = xpathResult.iterateNext()) {
        console.log("child::myElement found element " + queryEl.nodeName);
    }
    else {
        console.log("child::myElement found nothing!");
    }
    
    /* Added a extra namespace for testing */
    xpathResult = xmlDoc.evaluate( "child::foo:myElement", rootElement, nsResolver, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
    if(queryEl = xpathResult.iterateNext()) {
        console.log("child::foo:myElement found element " + queryEl.nodeName);
    }
    else {
        console.log("child::foo:myElement found nothing!");
    }
}
catch(e) {
    console.log("Unable to parse Xml");
}