我有一个包含大约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修改专有Blumind XML文档
- 4. 用XSL过滤大部分XML吗?
- 5. 如何使用Xpath修改XML中的属性值Java包括注释部分
- 6. 循环映射对象并使用xsl变换修改xml
- 7. 如何使用XSL从XML创建XML?
- 8. 如何修改XSL中的变量值?
- 9. 使用XSL复制XML的部分而不应用模板
- 10. 如何使用vba修改xml声明
- 11. 如何使用PHP修改xml文件
- 12. 如何使用XSL对XML文件的一部分进行排序
- 13. 改造XSL内部存储XML
- 14. 应用XSL到外部XML
- 15. xsl转换删除部分xml
- 16. 如何通过逗号修改XSL分裂值
- 17. 使用部分XML变量填充XSL模板
- 18. 如何使用htacess修改部分网址?
- 19. 如何使修改用于分配
- 20. 修改线的一部分
- 21. Sequental XML使用XSL
- 22. 如何使用XSL编辑XML?
- 23. 使用Perl XML :: SAX修改XML文档
- 24. 使用StAX对XML文档进行小的修改
- 25. 修改Zend_ViewHelper_Pagination_Controller部分路径
- 26. 如何使QT小部件从其父部件更新修改的属性?
- 27. 如何使用groovyUtils.getXmlHolder()来使用XPath修改XML?
- 28. Docbook-XSL在部分
- 29. 如何修改sql查询,使重复部分不显示
- 30. 如何修改分配给String的xml值中的值?
这两个元素是如何唯一标识的?发布了一个xml样本。 – Kristofer 2012-02-08 12:29:42
发布示例XML,以及您希望将这2个元素转换为什么? – 2012-02-08 13:18:20