1

所以我有一个应用程序从 XML 文件中读取数据,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<Countries>
  <Country>
    <Name>Germany</Name>
    <Flag>../Images/Germany.png</Flag>
    <ID>1</ID>
    <Description>Germany Description</Description>
    <Capital>Berlin</Capital>
  </Country>
  <Country>
    <Name>Grece</Name>
    <Flag>../Images/Greece.png</Flag>
    <ID>2</ID>
    <Description>Grece Description</Description>
    <Capital>Athens</Capital>
  </Country>
  ...
</Countries>

此数据存储在 List countryList 中。country 类具有 Name、Flag 等成员。现在,当在“列表”页面的列表框中显示所有国家/地区时,我添加了能够单击国家名称并被带到“详细信息页面,我们可以在其中查看有关该国家/地区的更多信息,这些信息在“列表”页面上不可见。

我想要一个星形图标,这样当用户点击它时,应用程序会将那个国家标记为收藏。我怎样才能有效地实现这一点?我想有一个<Favorite>No</Favorite>for each <Country>,有一个 TwoWay 绑定,并在应用程序关闭之前将收藏夹数据保存到 xml 文件作为清理的一部分。这是最好的方法吗?有人可以给我举个例子吗?

4

1 回答 1

2

你的方法很好。另一种方法是使用一个新List的来存储ID's标记的列表Favourite。只需检查哪些 ID 在列表中并在它们旁边显示一个星形图标。

要保存,您可以创建一个简单的文本文件,其中这些值用逗号分隔并保存(或简单地序列化列表)。当需要加载时,可以加载文件(或反序列化)并放回List中。这将为您节省对 XML 文件的任何 DOM 操作,也意味着您不需要存储<Favorite>No</Favorite>每个元素。

您可以尝试这两种方法,看看哪一种更有效,但在空间方面,单独的列表会更好。这也会缩短 XML 文件的加载时间。

于 2011-06-06T00:55:28.387 回答