Assume
var xml = "<Order><Moulding><imgsrc>imgsrc</imgsrc><width>1.13</width></Moulding></Order>";
Following, XML parsing of a variable string in JavaScript you can use (this requires jQuery)
var order = $.parseXML(xml).getElementsByTagName("Order")[0]
var moulding = order.getElementsByTagName("Moulding")[0]
var width = moulding.getElementsByTagName("width")[0];
var moulding_width = parseFloat(width.textContent);
or, using your method of node access
var moulding_width = parseFloat($.parseXML(xml).getElementsByTagName("Order")[0].childNodes[0].childNodes[1].textContent);
Note that getElementsByTagName
gives you a list of the desired elements, and not their contents, this is why there is an additional childNodes
compared to your approach.
If you're not using jQuery, you might consider something like (see http://www.w3schools.com/dom/dom_parser.asp )
function parseXML(text) {
if (window.DOMParser) {
parser=new DOMParser();
return parser.parseFromString(text,"text/xml");
} else { // code for IE
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(text);
return xmlDoc;
}
}
var moulding_width = parseFloat(parseXML(xml).getElementsByTagName("Order")[0].childNodes[0].childNodes[1].textContent);