【发布时间】:2011-12-01 21:22:44
【问题描述】:
private void parseXml(String urlPath) throws Exception {
URL url = new URL(urlPath);
URLConnection connection = url.openConnection();
DocumentBuilder db = DOCUMENT_BUILDER_FACTORY.newDocumentBuilder();
final Document document = db.parse(connection.getInputStream());
XPath xPathEvaluator = XPATH_FACTORY.newXPath();
XPathExpression nameExpr = xPathEvaluator.compile("rss/channel/item/title");
NodeList trackNameNodes = (NodeList) nameExpr.evaluate(document, XPathConstants.NODESET);
for (int i = 0; i < trackNameNodes.getLength(); i++) {
Node trackNameNode = trackNameNodes.item(i);
System.out.println(String.format("Blog Entry Title: %s" , trackNameNode.getTextContent()));
XPathExpression artistNameExpr = xPathEvaluator.compile("rss/channel/item/content:encoded");
NodeList artistNameNodes = (NodeList) artistNameExpr.evaluate(trackNameNode, XPathConstants.NODESET);
for (int j=0; j < artistNameNodes.getLength(); j++) {
System.out.println(String.format(" - Artist Name: %s", artistNameNodes.item(j).getTextContent()));
}
}
}
我有这段代码用于从默认的wordpress xml中解析标题和内容,唯一的问题是当我尝试获取博客条目的内容时,xml标签是:<content:encoded>,我不明白如何检索此数据?
【问题讨论】:
-
分享 xml 或其中的一小部分以查看结构。也可以考虑使用 jaxb。
-
wordpress.org/news/feed 我要解析的 XML 格式与此格式相同。
-
@beny23 您是否设法检索到
值数据? -
@alex 我只编辑了帖子,没有问问题