我需要将XML导入到一个软件中,我提供的XML是由不同的软件创建并发送给我自己的。我通常会浏览XML文档并删除所有CDATA标记,然后必须查找并替换所有标记,从大写到小写,并删除任何STRONG标记或OL标记。
但我必须重新组织标签以允许将其导入软件,例如:
< b>这里有一些文字< p />更粗体的文字< / b>
除非我手动进入并将其更改为
,否则不会导入< b>这里有一些文字< / b>< p />< b>更粗体文字< / b>
我已经看过HTMLTidy和其他这样的工具,它们只会删除< p />完全标记。如果有任何办法,我需要保持数据的原始格式?
答案 0 :(得分:1)
使用xslt,您可以执行以下操作:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output indent="no" omit-xml-declaration="yes"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="b/text()">
<b>
<xsl:value-of select="."/>
</b>
</xsl:template>
<xsl:template match="b">
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>
应用于
之类的输入时<b>Got some text here<p/>More bold text</b>
输出:
<b>Got some text here</b><p/><b>More bold text</b>