0

我有一个 XML,我正在为此编写一个 servlet 来从 XML 中获取内容。一个这样的标签是<itunes:author>Jonathan Kendrick</itunes:author>
我需要为此获得作者价值。因为

我尝试使用命名空间并为:使用转义序列,但它对我不起作用。

对于其他 XML 元素,我只是在使用

String link=node.getChildText("link").toString();

我正在使用 Jdom 解析器

4

1 回答 1

3

在您的 XML 中,序列 'itunes:author' 代表所谓的 Q-Namem 和“合格名称”。在 XML 中,它由一个“命名空间前缀”和一个“本地名称”组成。在您的示例中,命名空间前缀是“itunes”,“本地名称”是“作者”。

您想要的是名称空间中链接到前缀“itunes”的“作者”元素。实际的命名空间通常是一个完整的 URL。我相信您示例的完整 URL 可能是 xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd",但您应该检查一下。

所以,命名空间是“http://www.itunes.com/dtds/podcast-1.0.dtd”,它的前缀被声明为“itunes”(但它可能是别的东西——实际的前缀名称在技术上并不重要...)

您想在“http://www.itunes.com/dtds/podcast-1.0.dtd”命名空间中获取“作者”,因此您需要:

String author = node.getChildText("author", Namespace.getNamespace("http://www.itunes.com/dtds/podcast-1.0.dtd"));

有关命名空间的更多信息,请查看:http ://www.w3schools.com/xml/xml_namespaces.asp

于 2012-05-18T00:13:13.503 回答