【发布时间】:2021-04-07 19:47:59
【问题描述】:
我目前是第一次使用 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());
但是,这只返回 null 并且我不明白为什么,有人可以解释我在这里缺少什么。据我了解,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());
}
}
}
【问题讨论】: