Ler valor de dentro de uma tag pelo Delphi
12/03/2013
0
Boa tarde pessoal,
estou com uma dúvida referente a leitura de uma tag de XML.
Tenho o seguinte XML:
<?xml version="1.0" encoding="iso-8859-1"?>
<TABLE>
<TELA ID="10">
<MENSAGEM>Sucesso.</MENSAGEM>
</TELA>
<TELA ID="20">
<MENSAGEM>Erro.</MENSAGEM>
</TELA>
</TABLE>
Consigo ler a tag "MENSAGEM" sem problema, mas infelizmente não consigo acessar o valor do ID que esta na tag TELA.
Estou tentando assim:
XMLDocumentLog.DocumentElement.ChildNodes.FindNode('TELA').NodeValue;
Mas tenho retorno de erro pois não tenho um único nó de texto elemento "TELA".
Como faço para acessar este valor 10 e 20?
Estou utilizando o TXMLDocument.
estou com uma dúvida referente a leitura de uma tag de XML.
Tenho o seguinte XML:
<?xml version="1.0" encoding="iso-8859-1"?>
<TABLE>
<TELA ID="10">
<MENSAGEM>Sucesso.</MENSAGEM>
</TELA>
<TELA ID="20">
<MENSAGEM>Erro.</MENSAGEM>
</TELA>
</TABLE>
Consigo ler a tag "MENSAGEM" sem problema, mas infelizmente não consigo acessar o valor do ID que esta na tag TELA.
Estou tentando assim:
XMLDocumentLog.DocumentElement.ChildNodes.FindNode('TELA').NodeValue;
Mas tenho retorno de erro pois não tenho um único nó de texto elemento "TELA".
Como faço para acessar este valor 10 e 20?
Estou utilizando o TXMLDocument.
Paulo Fossá
Curtir tópico
+ 0
Responder
Posts
12/03/2013
Paulo Fossá
Pessoal, descobri que esta maneira de xml é chamada de atributo. Então não é no modo convencional que acessa o valor.
Utilizei o seguinte código;
// Joguei para um Nodo
ATela := XMLDocumentLog.DocumentElement.ChildNodes.FindNode('Tela');
// Peguei valor
ATela.AttributeNodes['ID'].Text
// Dei um loop no for utilizado para ler
AChamadas := AChamadas.NextSibling;
Obrigado.
Utilizei o seguinte código;
// Joguei para um Nodo
ATela := XMLDocumentLog.DocumentElement.ChildNodes.FindNode('Tela');
// Peguei valor
ATela.AttributeNodes['ID'].Text
// Dei um loop no for utilizado para ler
AChamadas := AChamadas.NextSibling;
Obrigado.
Responder
12/03/2013
Joel Rodrigues
Exato, amigo.
Quando você tem o valor como uma nova tag interna, este valor é um ELEMENTO. Se o valor estiver direto na tag em questão, entre os sinais < e >, é um ATRIBUTO.
Exemplo de elemento filho:
Exemplo de atrbuto:
Como você já conseguiu resolver, estou encerrando o tópico.
Abraço.
Quando você tem o valor como uma nova tag interna, este valor é um ELEMENTO. Se o valor estiver direto na tag em questão, entre os sinais < e >, é um ATRIBUTO.
Exemplo de elemento filho:
<PAI> <FILHO> Valor do elemento filho </FILHO> </PAI>
Exemplo de atrbuto:
<PAI Nome="Nome do elemento pai"> </PAI>
Como você já conseguiu resolver, estou encerrando o tópico.
Abraço.
Responder
Clique aqui para fazer login e interagir na Comunidade :)