0

我正在使用 TextWrangler 的查找和替换功能。我有一个包含此标记的 XML 文件的文件夹:

<song xmlns="http://openlyrics.info/namespace/2009/song" version="0.8" createdIn="OpenLP 2.0.1" modifiedIn="OpenLP 2.0.1" modifiedDate="2013-06-23T21:33:21">

我想从标签中删除命名空间和其他信息并得到这个:

<song>

我的问题是双重的:

  1. 首先,我无法让 TextWrangler 找到包含尖括号的任何内容。我不知道如何搜索文字尖括号。
  2. 对于每个文件,标签的 modifiedDate= 部分都不同。因此,我需要能够找到标签中包含的所有文本的东西,无论它说什么。

有什么建议么?

4

1 回答 1

0

对于此类任务,充分了解 XSLT 确实值得。在文本编辑器中执行此操作总会有限制(例如,您的代码很可能取决于按特定顺序排列的属性)。大概就这么简单:

<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="*">
  <xsl:element name="{local-name()}">
    <xsl:apply-templates/>
  </xsl:element>
</xsl:template>

</xsl:transform>

这实际上会从所有元素中删除名称空间和属性,而不仅仅是歌曲元素,但可以通过添加另一个模板规则轻松更改。

于 2013-07-30T06:42:26.140 回答