<alerta> <actCount> <num>0001</num> <tipo>3</tipo> </actCount> <codMsg>ae11</codMsg> <txtMsg>description11</txtMsg> <codMsg>ae12</codMsg> <txtMsg>description12</txtMsg> <codMsg>ae13</codMsg> <txtMsg>description13</txtMsg> <codMsg>ae14</codMsg> <txtMsg>description14</txtMsg> </alerta> <alerta> <actCount> <num>0002</num> <tipo>3</tipo> </actCount> <codMsg>ae21</codMsg> <txtMsg>description21</txtMsg> <codMsg>ae22</codMsg> <txtMsg>description22</txtMsg> <codMsg>ae23</codMsg> <txtMsg>description3</txtMsg> <codMsg>ae24</codMsg> <txtMsg>description24</txtMsg> </alerta>
itemsAlertNode := itemsAlert.Item(i).SelectNodes('codMsg'); IF itemsAlertNode.Count > 0 THEN BEGIN FOR j := 0 TO itemsAlertNode.Count - 1 DO BEGIN //title_codMsg := itemsAlertNode.Item(j).SelectSingleNode('/'); - no error, but doesn't get the content of element //title_codMsg := itemsAlertNode.Item(j).SelectSingleNode('codMsg'); - error at: title_codMsgTxt := title_codMsg.InnerText, because title_codMsg is uninitialized //title_codMsg := itemsAlertNode.Item(j).SelectSingleNode(''); - Expression must evaluate to a node-list title_codMsgTxt := title_codMsg.InnerText; END; END;
Answers
The solution is use only: title_codMsg := itemsAlertNode.Item(j);