我有一個包含大約25個元素的XML文件。我只想轉換2個元素並保留其餘的XML。有人可以告訴我該怎麼做。所有在線的例子都是修改整個XML文檔,我不想要這個。我只想修改兩個元素的值。如何使用XSL修改小部分的XML
0
A
回答
0
下面是一個實際的例子,我解析一個xsd文件並從中刪除所有註釋。
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<!-- copy all nodes and attributes -->
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
<!-- but remove annotations -->
<xsl:template match="xs:annotation"/>
6
這些任務是通過使用身份變換模板是
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
,然後通過添加模板的元件被例如改變解決
<xsl:template match="foo">
<bar>
<xsl:apply-templates select="@* | node()"/>
</bar>
</xsl:template>
foo
改變到bar
元件和/或
<xsl:template match="foobar"/>
刪除foobar
元件。
爲了讓大家進一步的例子,例如,如果我們想複製baz
元素與他們的內容,但想添加一個new
元素,我們可以添加模板
<xsl:template match="baz">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
<new>...</new>
</xsl:copy>
</xsl:template>
只要你保持身份轉換alive(使用apply-templates)爲任何你不想改變的東西,你可以通過爲每個要改變的元素編寫一個模板來很好地構建你的樣式表。
+0
謝謝!它的工作。 – Chandu 2012-02-10 06:37:40
相關問題
- 1. 使用XSL修改XML標籤
- 2. XSL:修改XML中的內容
- 3. 我該如何修改XSL以更改xml格式
- 4. XSL修改專有Blumind XML文檔
- 5. 用XSL過濾大部分XML嗎?
- 6. 如何使用Xpath修改XML中的屬性值Java包括註釋部分
- 7. 如何修改Magento的父主題中的一小部分?
- 8. 如何修改xml內部屬性
- 9. 如何使用XSL從XML創建XML?
- 10. 循環映射對象並使用xsl變換修改xml
- 11. 如何修改XSL中的變量值?
- 12. 使用XSL複製XML的部分而不應用模板
- 13. 如何使用JQuery修改XML
- 14. 如何使用java修改XML
- 15. 如何使用XSLT修改XML屬性?
- 16. 如何使用PHP修改xml文件
- 17. 如何使用xml修改.csproj文件
- 18. 如何使用vba修改xml聲明
- 19. 使用XSL修改現有DOM
- 20. 使用XSL或jQuery修改HTML
- 21. 一個小XML修改器
- 22. 如何使用XSL對XML文件的一部分進行排序
- 23. 改造XSL內部存儲XML
- 24. 應用XSL到外部XML
- 25. xsl轉換刪除部分xml
- 26. 如何修改web.config部分運行時?
- 27. 如何通過逗號修改XSL分裂值
- 28. 使用部分XML變量填充XSL模板
- 29. 如何在使用Python請求時修改部分網址?
- 30. 如何使用htacess修改部分網址?
這兩個元素是如何唯一標識的?發佈了一個xml樣本。 – Kristofer 2012-02-08 12:29:42
發佈示例XML,以及您希望將這2個元素轉換爲什麼? – 2012-02-08 13:18:20