Xml 清除嵌套子节点的XSLT脚本

Xml 清除嵌套子节点的XSLT脚本,xml,xslt,xpath,Xml,Xslt,Xpath,输入XML: <tree> <node name="GrandParent"> <node name="Parent1"> <qualifier>Fat</qualifier> </node> <node name="Parent2"> <qualifier>Slim</qualifier> <node name="Ch

输入XML:

<tree>
  <node name="GrandParent">
    <node name="Parent1">
      <qualifier>Fat</qualifier>
    </node>
    <node name="Parent2">
      <qualifier>Slim</qualifier>
      <node name="Child1">
        <qualifier>Tall</qualifier>
      </node>
      <node name="Child2">
        <qualifier>Short</qualifier>
      </node>
    </node>
  </node>
</tree>

脂肪
苗条的
高的
短
所需输出:

<tree>
  <node name="GrandParent-Parent1">
    <qualifier>Fat</qualifier>
  </node>
  <node name="GrandParent-Parent2">
    <qualifier>Slim</qualifier>
  </node>
  <node name="GrandParent-Parent2-Child1">
    <qualifier>Tall</qualifier>
  </node>
  <node name="GrandParent-Parent2-Child2">
    <qualifier>Short</qualifier>
  </node>
</tree>

脂肪
苗条的
高的
短
我想得到一个优化的XSLT脚本,以实现同样的效果。请帮帮我


(注意:给出的输入只是一个示例。子节点可以嵌套到任何深度。)

以下是一些提示,可以为您指明正确的方向:

  • 了解
    说明;它们将成为解决这一问题的支柱
  • 还要了解“concat()”函数。这将有助于更改您希望进行的命名方案
  • 熟悉XPath轴(特别是父级:*,
    祖先:*
    ,以及相关XPath,如
    。/
    。/../
另外,看看这个问题(以及随后的答案)——它在您的场景中可能也很有用:


听起来你明天的最后期限很难,但接下来,我建议你花点时间阅读有关XSLT/XPath的好材料。你可以在这里找到一些:

请出示你遇到问题的XSLT样式表。我现在没有任何XSLT脚本:(我只是一个初学者。如果可以的话,请帮助我。我正在搜索。我也尝试了一些小例子。但我必须让这项工作在明天完成。这就是我向一些专家寻求帮助的原因。不要误解我。非常感谢你的帮助:)@IntelligentYahoo-我更新了我的答案,提供了更多的实际帮助。再次感谢thanx ABach..希望我能尽快找到解决方案:):@IntelligentYahoo-请随时提出其他问题。当您尝试自己解决问题时,如果您遇到困难,我们可以在这里为您提供指导。