Problemas na leitura de XML
Pessoal, eu preciso fazer a leitura de todas tags <codigoInterno>. Da forma como estou fazendo, está pegando somente o primeiro. Estou numa missão urgentíssima e não estou conseguindo desenrolar. Se alguém puder me ajudar, ficaria muito agradecido.
<tributacoes>
<segmento>
<produtoCliente>
<codigoInterno>0001</codigoInterno>
</produtoCliente>
</segmento>
<segmento>
<produtoCliente>
<codigoInterno>0002</codigoInterno>
</produtoCliente>
</segmento>
<segmento>
<produtoCliente>
<codigoInterno>0003</codigoInterno>
</produtoCliente>
</segmento>
</tributacoes>
**Segue o código**
xml := CreateOleObject(''Microsoft.XMLDOM'') as IXMLDOMDocument;
xml.async := False;
xml.load(arq);
if xml.parseError.errorCode <> 0 then
raise Exception.Create(''Error Message:'' + xml.parseError.reason);
nodelista := xml.selectNodes(''//tributacoes'');
lista2 := nodelista.item[0].selectNodes(''//segmento//produtoCliente/codigoInterno'');
for I := 0 to lista2.length-1 do begin
node1 := lista2.item[i].selectSingleNode(''//segmento//produtoCliente/codigoInterno'');
if assigned(node1) then begin
Memo1.lines.Add(node1.nodeName + '' - '' + node1.text);
end;
end;
<tributacoes>
<segmento>
<produtoCliente>
<codigoInterno>0001</codigoInterno>
</produtoCliente>
</segmento>
<segmento>
<produtoCliente>
<codigoInterno>0002</codigoInterno>
</produtoCliente>
</segmento>
<segmento>
<produtoCliente>
<codigoInterno>0003</codigoInterno>
</produtoCliente>
</segmento>
</tributacoes>
**Segue o código**
xml := CreateOleObject(''Microsoft.XMLDOM'') as IXMLDOMDocument;
xml.async := False;
xml.load(arq);
if xml.parseError.errorCode <> 0 then
raise Exception.Create(''Error Message:'' + xml.parseError.reason);
nodelista := xml.selectNodes(''//tributacoes'');
lista2 := nodelista.item[0].selectNodes(''//segmento//produtoCliente/codigoInterno'');
for I := 0 to lista2.length-1 do begin
node1 := lista2.item[i].selectSingleNode(''//segmento//produtoCliente/codigoInterno'');
if assigned(node1) then begin
Memo1.lines.Add(node1.nodeName + '' - '' + node1.text);
end;
end;
Dennis Carlos
Curtidas 0