如何替换 XML 中 CDATA 中的“&”以在 Java 脚本中解释(ECMAScript for XML)

How to replace "&" within CDATA in XML to interpret in Java Script (ECMAScript for XML)

var newstring = srchStr3.replace(/&/g, "&");


var srchStr3 = job.getJobInfo("JobData").replace("&", "&");

这些是我试过的一些无法解决问题的片段

我猜您在 XML 中嵌入了一些 JavaScript 代码,这些代码被不恰当地转义了。 (如果不是这种情况,请编辑您的问题。)

如果您的 JS 代码在 CDATA 中,则您不必在 JS 中执行此操作(我也不认为这实际上是可行的),例如:

<code>
  <![CDATA[
    function foo(a, b) {
      return a && b;
    }
  ]]>
</code>

当您处理 XML 时,请确保输出为文本。 以 XSL 为例:

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

  <xsl:output method="text" omit-xml-declaration="yes" indent="no"/>

  <xsl:template match="/code">
    <xsl:value-of select="."/>
  </xsl:template>

</xsl:stylesheet>

产生此输出:

$ xsltproc ~/Desktop/so.xsl ~/Desktop/so.xml 


    function foo(a, b) {
      return a && b;
    }