0

我想解析来自 iTunes 顶级图表服务的 XML 数据,但我无法解析这一行:

<id im:id="685726026">
   https://itunes.apple.com/us/album/roar/id685696?i=686026&amp;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 呢?

4

0 回答 0