我想解析来自 iTunes 顶级图表服务的 XML 数据,但我无法解析这一行:
<id im:id="685726026">
https://itunes.apple.com/us/album/roar/id685696?i=686026&uo=2
</id>
我收到一个错误:
org.kxml2.io.KXmlParser 中未定义的前缀 im。
我见过很多声明命名空间引用的解决方案,但这里的命名空间引用不是静态的。
im:id="685726026"
我看过这个文档: http ://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#namesoace
并尝试遵循此示例:
<book xmlns="urn:loc.gov:books" xmlns:isbn="urn:ISBN:0-395-36341-6">
<title>Cheaper by the Dozen</title>
<isbn:number>1568491379</isbn:number>
</book>
相当于 :
@Root
@NamespaceList({
@Namespace(reference="urn:loc.gov:books")
@Namespace(reference="urn:ISBN:0-395-36341-6", prefix="isbn")
})
public class Book {
@Element
@Namespace(reference="urn:ISBN:0-395-36341-6")
private String number;
@Element
private String title;
public String getTitle() {
return title;
}
}
但我的命名空间引用是可变的:
im:id="685726026"
在上面的例子中它是常数:
xmlns:isbn="urn:ISBN:0-395-36341-6"
请帮助我找到解决方案。如果 simpleXml 不可能,我该如何使用另一个 lib 呢?