2011-12-22 97 views
0

我需要使用xml以下列格式表示某些数据。在xml中表示嵌套数据的最佳方式

 
root-> col1-item1 -> col2-item1 -> col3-item1 
           -> col3-item2 
           -> col3-item3        
        -> col2-item2 -> col3-item1 
           -> col3-item2        
    -> col1-item2 -> col2-item1 -> col3-item1 

我见过有关这种实现的帖子,但我仍然对实现这一点的最佳方式感到困惑。 以下哪种方式应该用来表示这些数据?还有其他更好的方法吗?

1方法:

<column1items> 
    <col1-item text="col1-1st item"> 
     <col2-item> col2 - 1 
      <col3-item> col3 - 1</col3-item> 
      <col3-item> col3 - 2</col3-item> 
      <col3-item> col3 - 3</col3-item> 
      <col3-item> col3 - 4</col3-item> 
     </col2-item> 
    </col1-item> 
</column1items> 

第二个方法:

<column1items> 
    <col1-item> 
     <text> col1-1st item </text> 
     <col2-items> 
      <col2-item> 
       <text> col2 - 1 </text> 
       <col3-items> 
        <col3-item> <text> col3 - 1 </text> </col3-item> 
        <col3-item> <text> col3 - 2 </text> </col3-item> 
        <col3-item> <text> col3 - 3 </text> </col3-item> 
        <col3-item> <text> col3 - 4 </text> </col3-item> 
       </col3-items> 
      </col2-item> 
     </col2-items> 
    </col1-item> 
</column1items> 
+1

这里的问题是:可以将文本有属性(格式(粗体,斜体,花哨的字体) – Benoit 2011-12-22 13:50:18

+0

@Benoit不,它只是一个普通的文本同样的解决方案应该是易于阅读 – Nilesh 2011-12-22 13:54:27

回答

2

给定节点的列数可以通过它如何深度嵌套的推断。

<report> 
    <col text="col1-item1"> 
    <col text="col2-item1"> 
     <col text="col3-item1"/> 
     <col text="col3-item2"/> 
     <col text="col3-item3"/> 
    </col> 
    <col text="col2-item2"> 
     <col text="col3-item1"/> 
     <col text="col3-item2"/> 
    </col> 
    </col> 
    <col text="col1-item2"> 
    <col text="col2-item1"> 
     <col text="col3-item1"/> 
    </col> 
    </col> 
</report> 
+0

感谢应注意什么?。。。。我在这种情况下使用属性或元素?我已经阅读过几个帖子,当可读性更重要时,元素应该是首选。你是否认为指定文本作为元素的值会是个好主意? – Nilesh 2011-12-22 16:35:49

+0

正如@Benoit暗示的那样,决定何时不使用属性的决定性因素是你是否打算在其中嵌入其他任何东西,最好的命名可能取决于你如何重用格式,以及谁或什么将实际读取XML。树,所以你可能会很高兴使用更多的aki n到<节点标签=“xx”>。元素在订购和嵌套时给予更多的灵活性;属性占用更少的空间并且更明显地与元素相关联。 – phatfingers 2011-12-22 17:32:06

+0

一个事后...如果你的元素层次结构是固定的,并且已经有一个用户熟悉的相关词汇表,你应该考虑保持相同的结构,但改变每个深度的元素名称。例如,将产品组织为部门,类别和行的百货公司可能会使用相同的结构。因此,如果任何人正在合并文档或进行手动更改,可能会更简单一些,因此可能会更简单一些。 – phatfingers 2011-12-24 16:43:59

相关问题