используя selectSingleNode и тестирование текста в JS - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь прочитать содержимое узла и проверить, является ли он пустым или имеет значение "TBD".

Я использую selectSingleNode, но оператор if, кажется, все время приводит к нулю, хотя при выводе currNode.text я вижу текст.

    var xmlDoc  = new ActiveXObject("Msxml2.DOMDocument");
    xmlDoc.async = false;
    xmlDoc.resolveExternals = false;
    xmlDoc.loadXML(xmlString);
    if (xmlDoc.parseError.errorCode > 0)
    {
       var myErr = xmlDoc.parseError;
       g_ASILog.print(3,"Parse Error=" + myErr);
       return(0);
     } 
     else 
     {
        xmlDoc.setProperty("SelectionLanguage", "XPath");
     }

      currNode = xmlDoc.selectSingleNode("//Classification/"+activity);

      var currNodeString = new String(null);
    currNodeString = ToString(currNode.text);

    g_ASILog.print(3,"Checking attribute " + checkValue +" = "+ currNodeString);

   if (currNodeString == null || "TBD")
   {
     g_ASILog.print(3,"Failed to find " + checkValue + currNodeString);
     return(1);
   }
   else
   {        
    g_ASILog.print(3,checkValue + " has passed");
    return(0);
   }

XML Пример:

<Classification>
  <id>-99999</id> 
  <name>ERDPRESS 006</name> 
  <dataset_id /> 
  <temp_dataset_id>1</temp_dataset_id> 
  <study_id>110</study_id> 
  <temp_study_id /> 
  <document_id>20001</document_id> 
  <format /> 
  <type>PROCESSED</type> 
  <activity>UNK</activity> 
  <category>DESCRIPTIONS</category> 
</Classification>

Просто не уверен, что я делаю не так.Thanx.

...