Я пытаюсь прочитать содержимое узла и проверить, является ли он пустым или имеет значение "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.