1

当用户第一次启动我的应用程序时,该应用程序会从网络加载 XML 数据。但是我不希望用户每次打开应用程序时都需要下载数据。所以我想我将数据保存到一个新的 XML 文件中,该文件是用刚刚获得的数据生成的。然后,用户会收到一条通知,告知他看到的数据是从缓存中加载的,并且他可以单击一个按钮来同步数据并获取最新数据。

我现在的问题是将数据保存到 XML 文件中。我正在使用 xmlSerializer 来做这件事,而且效果很好,除了一件事。

这就是我序列化一些数据的方式:

xmlSerializer.startTag(null, "imageURL");
xmlSerializer.text(((Node) imageURLList.item(0)).getNodeValue());
xmlSerializer.endTag(null, "imageURL");

我现在遇到的问题是我得到的 XML 是这样构建的

root-element
     elementwithAttribute START
          data
     elementwithAttribute END
     elementwithAttribute START
          data
     elementwithAttribute END
root-element

我对文件的属性是条目的编号

entry nr="1"

我尝试这样做

xmlSerializer.startTag(null, "rank nr=\""+i+"\"");

data

xmlSerializer.endTag(null, "rank");

但这让我脱离了我的 for 循环,只有第一个条目有效,直到排名被不正确地关闭。当我像这样关闭标签时

xmlSerializer.endTag(null, "rank nr=\""+i+"\"");

它可以正常工作,但是 XML 文件看起来不像我想要的那样。我怎样才能实现它,序列化程序知道这rank是 的结束标记rank nr

4

0 回答 0