Fórum Ler o valor dentro da tag CDATA de um xml #414374
21/03/2012
0
Só que agora veio um xml com algumas tags CDATA.
E minha função não consegue pegar o valor dentro desta tag.
O trecho do xml é:
- <dest>
<CNPJ>09022519000145</CNPJ>
- <xNome>
- <![CDATA[ FIGUEREDO LIMA & CIA LTDA-ME
]]>
</xNome>
- <enderDest>
- <xLgr>
- <![CDATA[ AV.MARECHAL RONDON,1210 CENTRO
]]>
</xLgr>
<nro>0</nro>
<xBairro>CENTRO</xBairro>
<cMun>5106752</cMun>
<xMun>PONTES E LACERDA</xMun>
<UF>MT</UF>
<CEP>78250000</CEP>
<cPais>1058</cPais>
<xPais>BRASIL</xPais>
<fone>32661980</fone>
</enderDest>
<IE>00133434427</IE>
</dest>
Ai no treeview no os campos xNome e xLgr vazio.
Uso a seguinte função:
procedure TFormImportaxml.GenereteTree(XMLNode: IXMLNode; TreeNode: TTreeNode);
var
NodeText: String;
NewTreeNode: TTreeNode;
I: Integer;
begin
If XMLNode.NodeType <> ntElement then
Exit;
NodeText := XMLNode.NodeName;
If XMLNode.IsTextElement then
begin
NodeText := NodeText + = + XMLNode.NodeValue;
PegaCamposNFe(XMLNode.NodeName, XMLNode.NodeValue);
end;
NewTreeNode := TreeView1.Items.AddChild(TreeNode, NodeText);
If XMLNode.HasChildNodes then
begin
For I := 0 to XMLNode.ChildNodes.Count - 1 do
GenereteTree(XMLNode.ChildNodes[I], NewTreeNode);
end;
end;
Se alguém puder me dar uma luz eu agradeço
Leandro Carvalho
Curtir tópico
+ 0Posts
23/03/2012
Leonardo Xavier
Gostei + 0
24/03/2012
Leandro Carvalho
Gostei + 0
22/05/2012
Daniel Bernardo
penei pra descobrir isso
e a resposta é ChildNodes.FindNode(#cdata-section);
Gostei + 0
22/05/2012
Daniel Bernardo
penei pra descobrir isso
e a resposta é ChildNodes.FindNode(#cdata-section);
com aspas simples, o editor aqui nao deixou colocar aspas.
Abraço.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)