2014-01-17 187 views
0

如何提取「www.stackoverflow.com/one.jpg」和「一些文本」?如何解析子節點xml

<item> 
<title>mytitle</title> 
<link>http://www.stackoverflow/urls</link> 
<description><![CDATA[<p><img src="www.stackoverflow.com/one.jpg" alt=""></p> 
<p>some text</p> 
<p>]]>&lt;br clear='all'/&gt;</description> 
<dc:date>2014-01-17T12:10:06+00:00</dc:date> 
</item> 

我的代碼:

Element entry = (Element)nl.item(i); 

Element title = (Element)entry.getElementsByTagName("title").item(0); 
Element url_link = (Element)entry.getElementsByTagName("link").item(0); 
Element date = (Element)entry.getElementsByTagName("dc:date").item(0); 
+1

您使用哪個庫來解析XML文件? –

+0

我的導入:import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; – user3103823

回答

0

你的元素只包含文本,因爲您在部分包裹的一些標記(和逃脫<和>以下是字符,則必須提取文本並自己操作它

請注意,它包含的文本是HTML,而不是XML;沒有標籤,並且不以/>結尾,因此您不能僅通過XML解析器第二次提供該文本;你需要一個HTML解析器,或者你必須解壓這些值使用字符串操作。後者可能是一個更好的選擇。

如果這不是你想要的,你需要修復產生這個文檔的任何東西。