[英]XSLT script to get rid of nested child nodes
输入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脚本来实现相同目的。 请帮我。
(注意:给定的输入只是一个示例。子节点可以嵌套到任何深度。)
以下是一些提示,可指示您正确的方向:
<xsl:template>
和<xsl:apply-templates>
指令; 它们将是解决此问题的骨干。 parent::*
, ancestor::*
和相对的XPath,例如../
或../../
。 此外,请查看此问题(及后续答案)-在您的方案中也可能有用:将连续的后代节点合并为一个
听起来您明天的工作期限很艰巨,但是展望未来,我建议您花些时间阅读XSLT / XPath上的优秀材料。 您可以在这里找到几个: https : //stackoverflow.com/questions/339930/any-good-xslt-tutorial-book-blog-site-online/341589#341589
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.