<?xml version="1.0" encoding="UTF-8"?>
<code_details>
<summer_redeem_code>54</summer_redeem_code>
<winter_redeem_code>38</winter_redeem_code>
</code_details>
在上面的代码中,将summer_redeem_code和winter_redeem_code视为要存储多个值的标记。想象一下,summer_redeem_code是传递的值,如54,56,57,但只有第一个,即54可以显示。此外,winter_redeem_code传递的值如38,48,58,但只能显示第一个,即38。
问题:我想弄清楚在XML中为单个元素/属性/标记表示多个值的最佳方法是什么,这样我才能显示的不仅仅是第一个现在可以吗?
目前这些标签是1:1关系,我想让它们1-many(如果这有意义?)。基本上,寻找可以容纳所有值的方法(标签)。
约束:
1)标签summer_redeem_code和winter_redeem_code无法删除,因为它们会破坏无法修改的解析器。
可能的解决方案:这可能需要将它们保留原样并引入一个带有新标签的新的1-many项目 - 可能是“redeem_codes”并将其置于其下。
答案 0 :(得分:3)
最常见的方法是:
包裹的元素序列
<codes>
<winter>
<winterCode>54</winterCode>
<winterCode>58</winterCode>
<winterCode>92</winterCode>
</winter>
<summer>
<summerCode>85</summerCode>
<summerCode>32</summerCode>
</summer>
</codes>
(2)没有包装元素的相同
<codes>
<winterCode>54</winterCode>
<winterCode>58</winterCode>
<winterCode>92</winterCode>
<summerCode>85</summerCode>
<summerCode>32</summerCode>
</codes>
(3)列表值内容
<codes>
<winterCode>54 58 92</winterCode>
<summerCode>85 32</summerCode>
</codes>
在这些之间进行选择涉及权衡:易于创建内容,易于验证,易于阅读内容,大小,与过去的兼容性,未来的可扩展性。只有你能决定什么适合你。