Android - 如何使用CDATA解析XML [英] Android - How to parse an XML with CDATA

查看:863
本文介绍了Android - 如何使用CDATA解析XML的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以像这样解析这个XML:



I can parse this XML like this :

<pre lang="xml">
<item>
                    <title> <![CDATA[ TITLE ]]></title>
</item>
</pre>





但是,我无法解析这样的XML:



But, I can't parse this XML like this :

<item>
                    <title>
                    <![CDATA[ TITLE 
                    </title>                    
</item>







请帮助我!

我正在使用DOM Parser。

谢谢并且最好的关注




Please help me!
I'm using DOM Parser.
Thanks and best regard

推荐答案





尝试使用XPATH ...



title = xPath.evaluate(// item / title / text (),doc).trim();



谢谢,

Ullas Krishnan
Hi,

Try using XPATH...

title=xPath.evaluate("//item/title/text()", doc).trim();

Thanks,
Ullas Krishnan


1.首先添加此方法
public String getCharacterDataFromElement(Element e, String str) {
NodeList n = e.getElementsByTagName(str);   
Element e1=(Element) n.item(0);

Node child = e1.getFirstChild();
if (child instanceof CharacterData) {
  CharacterData cd = (CharacterData) child;
  return cd.getData();
}
return "";
}



2.请按上述方法调用上面的方法 -


2.Call the above method as so-

map.put(KEY_DESC, parser.getCharacterDataFromElement(e, KEY_DESC));



这应该以String格式获取CDATA。希望这有助于


This should get you the CDATA in String format. Hope this helps


这篇关于Android - 如何使用CDATA解析XML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆