Трудность в разборе XML - PullRequest
1 голос
/ 20 мая 2011

Я выполняю анализ XML в своем приложении. Я использовал следующий синтаксис для получения данных из XML в мой массив:

v3[p]=''+xmlDoc.getElementsByTagName("volatility_analysis3")[p].childNodes[0].nodeValue+'.';

но проблема в том, что в этом конкретном узле нет данных. Это как

<volatility_analysis3></volatility_analysis3>

так что разбор заканчивается там. Как это преодолеть?

Ответы [ 2 ]

1 голос
/ 20 мая 2011

Делайте это в таких шагах, как это

var node = xmlDoc.getElementsByTagName("volatility_analysis3")[p];
if (node.hasChildNodes())
 {
   v3[p]=''+node.childNodes[0].nodeValue+'.';
 }

Если вы не уверены, что существует p количество volatility_analysis3 узлов, добавьте еще один шаг

var nodelist = xmlDoc.getElementsByTagName("volatility_analysis3");
if (nodelist.length >= p )
 {
   var node = nodelist[p];
   if (node.hasChildNodes())
    {
      v3[p]=''+node.childNodes[0].nodeValue+'.';
    }
 }
1 голос
/ 20 мая 2011

Проверьте длину xmlDoc.getElementsByTagName("volatility_analysis3"). Если это 0, двигайтесь дальше.

...