【问题标题】:How to parse the children nodes xml如何解析子节点xml
【发布时间】:2014-01-17 19:02:35
【问题描述】:

如何提取“www.stackoverflow.com/one.jpg”和“一些文本”?

<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);

【问题讨论】:

  • 您使用哪个库来解析 XML 文件?
  • 我的导入:导入 javax.xml.parsers.DocumentBuilder;导入 javax.xml.parsers.DocumentBuilderFactory;导入 javax.xml.parsers.ParserConfigurationException;导入 org.w3c.dom.Document;导入 org.w3c.dom.Element;导入 org.w3c.dom.NodeList;导入 org.xml.sax.SAXException;

标签: android xml parsing


【解决方案1】:

您的元素只包含文本,因为您将一些标记包装在一个部分中(并转义了它后面的 字符。您必须提取该文本并自己操作它。

请注意,包含的文本是 HTML,而不是 XML;没有标签,也不以 /> 结尾。因此,您不能再次通过 XML 解析器输入该文本;您要么需要一个 HTML 解析器,要么必须使用字符串操作来提取这些值。后者可能是更好的选择。

如果这不是您想要的,您需要修复生成此文档的任何内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    相关资源
    最近更新 更多