我有一个XML,我正在编写一个servlet来从XML中获取内容。一个这样的标签是<itunes:author>Jonathan Kendrick</itunes:author>
我需要为此获得作者价值。因为:
我尝试使用命名空间并使用转义序列:,但它对我没用。
对于其他XML元素,我只是使用
String link=node.getChildText("link").toString();
我正在使用Jdom解析器
答案 0 :(得分:3)
在你的XML中,sequernce'unes:author'代表所谓的Q-Namem是一个“合格的名字”。在XML中,它由'命名空间前缀'和'本地名称'组成。在您的示例中,名称空间前缀为“itunes”,“本地名称”为“author”。
你想要的是链接到前缀'itunes'的命名空间中的'author'元素。实际的命名空间通常是完整的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