Fórum Ler XML #340438
16/04/2007
0
<?xml version="1.0" encoding="ISO-8859-1"?> <rss version="2.0"> <channel> <title>Tempo Agora (Previsão para 5 dias)</title> <description>UOL Met</description> <link>http://www.uol.com.br</link> <lastBuildDate>Mon, 16 Apr 2007 4:50 08 -0300</lastBuildDate> <generator>D-MAX Gerador RSS 1.0b</generator> <item> <title>Florianópolis-SC - Previsão do Tempo</title> <link>http://www.uol.com.br</link> <description> <![CDATA[(<b>Segunda - 16/04</b>) - Min: 20º / Máx: 30º / Prec: 0mm / Situação: Poucas Nuvens<br />]]> <![CDATA[(<b>Terça - 17/04</b>) - Min: 21º / Máx: 31º / Prec: 0mm / Situação: Poucas Nuvens<br />]]> <![CDATA[(<b>Quarta - 18/04</b>) - Min: 21º / Máx: 31º / Prec: 0mm / Situação: Poucas Nuvens<br />]]> <![CDATA[(<b>Quinta - 19/04</b>) - Min: 21º / Máx: 31º / Prec: 0mm / Situação: Poucas Nuvens<br />]]> <![CDATA[(<b>Sexta - 20/04</b>) - Min: 21º / Máx: 31º / Prec: 0mm / Situação: Poucas Nuvens<br />]]> </description> <author>fonte: SOMAR Meteorologia</author> <pubDate>Mon, 16 Apr 2007 4:50 08 -0300</pubDate> <guid>http://www.uol.com.br</guid> </item> </channel> </rss>
Na tag ´description´ tem vários ´CDATA´ porém só consigo ler o primeiro.
Meu código:
StartItemNode := XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode(´item´); ANode := StartItemNode; Qtde_Noticias := 100; i := 1; repeat NodeList := nil; No := nil; STitle := ANode.ChildNodes[´title´].Text; sLink := ANode.ChildNodes[´link´].Text; if ANode.ChildNodes[´description´].IsTextElement then sDesc := ANode.ChildNodes[´description´].Text else begin NodeList := ANode.ChildNodes; for k:= 0 to NodeList.Count -1 do begin No := NodeList.Get(0); while No <> nil do begin //Fica sempre no primeiro CDATA showMessage(FormatFloat(´00 ´, K)+No.ChildNodes[No.ChildNodes[´´].NodeName].Text); No := No.NextSibling; end; end; end; if i=Qtde_Noticias then break else inc(i); ANode := ANode.NextSibling; until ANode = nil;
Como faço isso?
Carlosib
Curtir tópico
+ 0Posts
16/04/2007
Paullsoftware
Gostei + 0
17/04/2007
Carlosib
Consigo ler até aparecer a ´tag´ CDATA....
Gostei + 0
03/05/2012
Daniel Bernardo
Alguem conseguiu interpretar esse !CDATA com o XmlDocument?
com o clientdataset o !CDATA fica em branco.
Gostei + 0
22/05/2012
Daniel Bernardo
ChildNodes.FindNode(#cdata-section);
Abraço!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)