[英]Parsing XML for attributes inside <!CData[----] ]in java DOM in android
我有一個像這樣的xml文件:
<content:encoded>
<![CDATA[
<p>Some Data</p>
<p>
<img class="aligncenter size-large wp-image-4525" src="https://www.website.com/image1.jpg" alt="cover2" width="810" height="422" srcset="https://www.website.com/image2.jpg"/>
Some Data
</p>
]]> //end of CData
</content:encoded>
我有這個Android代碼:
private void ProcessXml(Document data) {
if(data!=null){
ArrayList<FeedItem>feedItems=new ArrayList<>();
Element root=data.getDocumentElement();
Node channel=root.getChildNodes().item(1);
NodeList items=channel.getChildNodes();
for(int i=0;i<items.getLength();i++)
{
Node currentchild=items.item(i);
if(currentchild.getNodeName().equalsIgnoreCase("item")){
FeedItem item=new FeedItem();
NodeList itemchilds=currentchild.getChildNodes();
for(int j=0;j<itemchilds.getLength();j++)
{
Node current=itemchilds.item(j);
if(current.getNodeName().equalsIgnoreCase("title")){
item.setTitle(current.getTextContent());
}else if (current.getNodeName().equalsIgnoreCase("description")) {
item.setDescription(current.getTextContent());
}else if (current.getNodeName().equalsIgnoreCase("pubDate")) {
item.setPubDate(current.getTextContent());
}else if (current.getNodeName().equalsIgnoreCase("link")) {
item.setLink(current.getTextContent());
}else if (current.getNodeName().equalsIgnoreCase("content:encoded")) {
//What code should I write here to get the image source/link of image.
}
}
}
feedItems.add(item);
}
}
}
}
我想在xml文件中獲取第二個鏈接。其余代碼正常工作,如何訪問CData並僅提取Java中圖像的鏈接?
CDATA標記告訴XML解析器將內容視為純文本。 因此,如果您不想將其視為文本,而是將其視為XML,則必須將內容提取為文本,然后將其提交給另一輪XML解析。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.