2014-01-17 132 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解析器,或者你必须解压这些值使用字符串操作。后者可能是一个更好的选择。

如果这不是你想要的,你需要修复产生这个文档的任何东西。