2016-08-23 92 views
1
<?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表示单个节点的多个值?

问:我试图弄清楚什么是代表在XML单个元素/属性/标签的多个值,这样我可以显示的不仅仅是我可以现在做第一个产品的最佳方式?

目前这些标签是1:1的关系,我想让它们成为一对(如果有意义的话)。基本上,寻找一个可以容纳所有值的方法(标签)。

约束:
1)标签summer_redeem_code和winter_redeem_code不能被删除,因为它们会破坏不能被修改的解析器。
可能的解决方案:这可能需要将它们保留原样,并引入一个新的标签 - 可能是“redeem_codes”并将其放在它下面。

+1

我没有看到你想要做什么错误... magine that summer_redeem_code传递值如54,56,57,但只有第一个,即54可以显示。为什么如此?你有格式的任何控制?或者你只能控制解析代码? –

+0

好问题。数据从另一个提要(我无法控制)提取并存储到这两个标记中。目前,获取逻辑只能获取任何给定节点的第一个值(如果它们有多个)。我正在寻求扩展逻辑来获取多个数据,但在此之前我想知道如何用XML表示它们,因此这个问题! – Fenil

回答

3

这样做的最常见的方法是:

  1. 裹元素序列

    <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> 

它们之间选择涉及权衡:轻松创建内容,便于确认,便于阅读与过去的内容,尺寸,兼容性,可扩展到未来的。只有你可以决定什么是适合你的。

相关问题