我目前是第一次使用api,检索数据时遇到了一些问题。
xml文件如下所示:
<schedule>
...
<scheduledepisode>
<episodeid>22441</episodeid>
<title>Ekonyheter </title>
<starttimeutc>2012-09-19T04:00:00Z</starttimeutc>
<endtimeutc>2012-09-19T04:03:00Z</endtimeutc>
<program id="83" name="Ekot" />
<channel id="164" name="P3" />
</scheduledepisode>
<scheduledepisode>
所以我用 NodeList nodelist1 = doc.getElementsByTagName("scheduledepisode");
得到所有的 scheduledepisode
元素,然后我认为要恢复标题下的数据,我可以简单地使用以下内容:
System.out.println(node.getAttributes().getNamedItem("title").getTextContent());
然而,这只返回空值,我不明白为什么,有人能解释我在这里丢失了什么。据我所知,title元素是 scheduledepisode
元素。这不对吗?
节点列表的长度与 scheduledepisodes
所以我假设我得到了正确的元素。
代码如下所示:
NodeList nodelist1 = doc.getElementsByTagName("scheduledepisode");
for (int i = 0; i < nodelist1.getLength(); i++)
{
Node node = nodelist1.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE )
{
if (node.getAttributes().getNamedItem("title") != null) {
System.out.println(node.getAttributes().getNamedItem("title").getTextContent());
}
}
}
1条答案
按热度按时间imzjd6km1#
自
<title>
是元素而不是属性<scheduledepisode>
,getAttributes()
不起作用。因此,使用getElementsByTagName
再一次: