有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java实现了xml层次结构,它有一个带有级别号的有序列表

我有一个数字列表,它表示xml树中的级别。 例如,我有以下列表:

 0, 1, 2, 2, 1

xml(带有“lev”元素)需要:

<lev>
  <lev>     
    <lev>
    </lev> 
    <lev>
    </lev>  
  </lev>
  <lev>
  </lev>
</lev>

只有那个列表,我如何形成这个xml? 我需要一个递归的方法,实际上我需要一个xsl文件,但是如果能像Java代码一样解析这个列表,那就太好了

我不确定这是否可能,因为只有那个列表。 任何帮助都会很好! 谢谢

以后编辑:

对于上述列表,假设我们也介绍了该职位:

Level     Position
   0        0
   1        1
   2        2
   2        3
   1        4  

如果我们在列表中有一个数字(级别)x,然后是数字(级别)y,其中y<=在创建xml时,我们知道最后一个元素(x,x-1,…,y)需要关闭

例:

  • 当我们处于位置3(级别2)时,我们知道位置2(也具有级别2)的元素需要关闭

  • 当我们处于位置4(1级)时,我们知道位置s 3(2级)和位置1(1级)的要素需要关闭


共 (1) 个答案

  1. # 1 楼答案

    递归在这方面做得太过分了。此外,不需要“位置”值。这里有一个伪代码解决方案

    假设一个函数next()返回下一个输入值,或者EOF为零

    curLevel = 0
    n        = next();
    do 
    {
      while(curLevel <= n)
      {
        open tag
        ++curLevel
      }
      n = next();
      while(curLevel > n)
      {
         curLevel
        close tag
      }
    }
    while(curLevel > 0)
    

    请注意,空输入文件的角盒将生成一个打开/关闭对。以不同的方式检查EOF,如果不需要,则修改代码以处理它