我需要将100个XML文件转换为文本文件,但问题是我只需要文本文件中的特定标签,而不是XML所有的标签。
需要的标签
Source
Date
Headline
Text
和不需要的标签,应该删除
Digest
Day
VolumeNo
IssueNo
SourcePage
Section
City
Copyright
Doc-id
Category
Subject
Keyword
Country
请注意,一个XML中也有多个故事。
请大家帮忙。
这类事情最好使用XSLT样式表来实现。如果不看到XML结构,就很难做到具体,但通常情况下,您会希望实现以下内容。第一个模板规则是复制你想要保留的标签,第二个规则是删除所有其他的。
<xsl:tranform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="Source|Date|Headline|Text">
<xsl:copy>
<xsl:copy-of select="@*">
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="*">
<xsl:apply-templates/>
</xsl:template>
</xsl:transform>
在一个目录中的所有文件上运行这个转换在一定程度上取决于您使用的工具和您的熟练程度,例如,编写shell脚本。对于大多数环境,有很多XSLT 1.0处理器。