ОБНОВЛЕНИЕ:
Некоторые говорят, что им удалось получить более 1 childNode ...
Вот моя скрипка - у меня отображается только 1 childNode.
Где ошибка?
ОРИГИНАЛЬНЫЙ Вопрос
Ниже приведен фрагмент кода JavaScript, который я унаследовал. В основном эта функция используется для получения данных XML путем вызова функции AJAX. Однако из-за изменений требований я генерирую строку XML и сохраняю эту строку в скрытой входной переменной на экране ( Classic ASP ).
После тщательного изучения исходного сценария я обнаружил, что было бы неплохо, если бы я мог каким-то образом передать свою строку xml в переменную cmdxml . Однако, когда я устанавливаю cmdxml равным моей строке xml: cmdxml = $.parseXML(xmlVal);
, а затем пытаюсь использовать фрагмент ниже, он получает только 1 дочерний узел. Я включил небольшой фрагмент строки XML, которую я передаю ниже.
Старая функция Javascript (частичная) с использованием cmdxml:
if (req.responseXML!=null) {
var PropName;
var PropValue;
var cmdxml = req.responseXML.documentElement;
// read each document element child node in the XML document
for (var c =0;c<cmdxml.childNodes.length;c++) {
var m;
var t = cmdxml.childNodes[c]; //req.responseXML.documentElement.childNodes[c]
if (t!=null) {
//console.log(t.nodeName);
switch(t.nodeName) { //req.responseXML.documentElement.childNodes[c].nodeName
case "RObject": { //response object
var RObject = t;
//req.responseXML.documentElement.childNodes[c].nodeName.attributes[2].value
var CtrlChangeType = RObject.attributes[2].value;
var CtrlObjName = RObject.attributes[1].value;
var CtrlObjType = RObject.attributes[0].value;
var CtrlObj;
var RObjProp = RObject.getElementsByTagName("Property");
PropName = RObjProp[0].attributes[0].value;
PropValue = getElementText(RObjProp[0].getElementsByTagName("Value")[0]);
switch (CtrlChangeType) { //req.responseXML.documentElement.childNodes[c].nodeName.attributes[0].value
case "comboboxInsRow": {
Вот фрагмент моей строки xml, которую я передаю:
<?xml version="1.0" ?><xCMDS><JCallBack ProgramName="x"><Value><![CDATA[top.closeCtrlLoading();]]></Value></JCallBack><RObject Type="E" Name="gH2ptObj_co_code" ChangeType="objProp" rowNum="" colNum=""><Property Name="value"><Value><![CDATA[]]></Value></Property></RObject>