[英]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.