Если вы добавите console.log(xmlDoc)
к своему коду, вы можете просмотреть XML-документ, сгенерированный анализатором DOM.
Он имееткуча ошибок, поэтому элемент CATEGORY_AREA_LIST
не имеет дочерних узлов.
Вы можете использовать такой инструмент, как xmllint (который поставляется с libxml, поэтому его легко установить в большинстве систем UNIX (включая )Windows 10 )), чтобы выделить конкретные ошибки в вашем XML.
Повторное редактирование:
Теперь, когда вы исправили свой XML, я не могу воспроизвести проблему:
str = "<ROOT><CATEGORY_AREA_LIST><CATEGORY_AREA NAME='General'><CATEGORY_TYPE NAME='MOC'><PROPOSED_LEVEL NAME='3'></PROPOSED_LEVEL></CATEGORY_TYPE><CATEGORY_TYPE NAME='General'><PROPOSED_LEVEL NAME='3'></PROPOSED_LEVEL></CATEGORY_TYPE></CATEGORY_AREA><CATEGORY_AREA NAME='BOO'><CATEGORY_TYPE NAME='Open'><PROPOSED_LEVEL NAME='1'></PROPOSED_LEVEL></CATEGORY_TYPE><CATEGORY_TYPE NAME='NOC'><PROPOSED_LEVEL NAME='5'></PROPOSED_LEVEL></CATEGORY_TYPE></CATEGORY_AREA></CATEGORY_AREA_LIST></ROOT>"
var dp = new DOMParser();
var xmlDoc = dp.parseFromString(str , "text/xml");
var list = xmlDoc.getElementsByTagName("CATEGORY_AREA_LIST");
var categoryArea = list[0].childNodes;
console.log(categoryArea.length)