2010-01-21 10 views
1
<item> 
<data> 
    <![CDATA[ 
    <p>Test</p> 
    <p><strong>Hi!</strong><br />Hello.</p> 
    ]]> 
</data> 
</item> 

En utilisant TouchXML/NSXMLParser Comment puis-je extraire seulement la partie HTML dans une chaîne/format de données approprié afin que je puisse l'afficher dans un UIWebView?Extrait HTML à partir du noeud CDATA iPhone

Il est certainement possible: http://code.google.com/p/touchcode/issues/detail?id=36&can=1&q=cdata

+0

De toute façon, aucun analyseur XML ne doit analyser les sections CDATA http://www.w3schools.com/xmL/xml_cdata.asp –

+0

CDATA est le seul moyen de stocker du HTML ou d'autres données contenant des caractères "<" et "&", pense que le lien signifie que l'analyseur ne doit pas * automatiquement * analyser le nœud comme un nœud normal. CXMLNode est implémenté pour pouvoir gérer l'analyse CDATA. – Dot

+0

Vous pouvez certainement stocker les littéraux '<' et '&' sans une section CDATA, en passant par '&'. Vous devriez lire le contenu textuel du '', ne vous souciez pas de savoir si cela provient d'une section CDATA ou tout simplement du texte. – bobince

Répondre

3

TouchXML analysera automatiquement. Si vous récupérez le stringValue du CXMLElement, vous obtiendrez le html "raw" complet, correctement formé.

+0

En effet! L'analyse automatique des CDATA et le nettoyage du code HTML dans NSString pour le mettre dans UIWebView utilisent '[myWebView loadHTMLString: myHTMLString baseURL: [NSURL URLWithString: @" http://www.monsite.com "]]' – Dot