2010-05-25 83 views
1

我看了這個主題,以瞭解如何使用XSLT將XML插入到XML中Insert XML node at a specific position of an existing document如何使用XSLT將XML插入另一個XML文件?

但是我有一個問題,因爲我需要在兩個大型子節點之間插入XML。 例如,我要插入<r>...</r><t>...</t>之間<s>...</s>在這個文件

<root> 
    <child1> 
    <a>...</a> 
    <r>...</r> 
    <t>...</t> 
    <z>...</z> 
    </child1> 
</root> 

創建該文件

<root> 
    <child1> 
    <a>...</a> 
    <r>...</r> 
    <s>...</s> 
    <t>...</t> 
    <z>...</z> 
    </child1> 
</root> 

感謝您的幫助。

+0

你只想找基於XSLT的解決方案?如何只是XPath和一些Java編碼? – 2010-05-25 18:50:03

回答

2

一個標準的「身份轉換」加一個模板來匹配元素<r>事後插入<s>...</s>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0"> 
    <xsl:output method="xml" indent="yes"/> 
    <xsl:template match="@*|node()"> 
    <xsl:copy> 
     <xsl:apply-templates select="@*|node()"/> 
    </xsl:copy> 
    </xsl:template> 
    <xsl:template match="r"> 
    <xsl:copy> 
     <xsl:apply-templates select="@*|node()"/> 
    </xsl:copy> 
    <s>...</s> 
    </xsl:template> 
</xsl:stylesheet> 
+0

工作。非常感謝你。 – Sandra 2010-05-26 17:24:30

+0

如果答案解決了你的問題,習慣上通過點擊答案左上角的複選框將其標記爲「接受」。 – 2010-05-26 17:30:24

相關問題