0

我有一个 XML/HTML (epub) 文档,其中包含内容< >而不是" "引用。是否有可能只替换内容< ><tags>用一些正则表达式保持不变?

4

1 回答 1

1

您不应该使用 Regex 来解析 XML

您的问题并不完全清楚,但听起来您的 XML 有一些文本值,<其中>包含您想要更改为引号的文本值。使用 XSLT 可以很容易地做到这一点:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes"/>

  <xsl:template match="@* | *">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="text()">
    <xsl:value-of select="translate(., '&lt;&gt;', '&quot;&quot;')"/>
  </xsl:template>
</xsl:stylesheet>

在此输入上运行时:

<root>
  <item>And he said &lt;hello!&gt;.</item>
  <item>&lt;hello!&gt;, he said</item>
  <section>
    <content>&lt;What's up&gt;</content>
  </section>
</root>

它产生:

<root>
  <item>And he said "hello!".</item>
  <item>"hello!", he said</item>
  <section>
    <content>"What's up"</content>
  </section>
</root>

您的文档中的文本可能包含您不想转换为引号<的 s 和s 是否存在风险?>

于 2013-02-08T05:12:39.210 回答