如何逃避或取代“&”在使用jQuery的xml文件中?

时间:2012-02-06 17:13:46

标签: javascript xml

我有一个xml文件可能会获得5个特殊字符,例如“&”在进程中插入。我知道xml会在解析这些字符时抛出错误。我使用jQuery ajax方法从xml文件中获取数据。有没有办法在javascript中克服这个解析器错误,比如替换特殊字符?

3 个答案:

答案 0 :(得分:2)

简而言之,是的,假设您将xml作为字符串(如果我没记错的话,jQuery会这样做)。然后,您可以执行以下操作:

xmlstr = xmlstr.replace(/&/g, "&");

表示您要替换的任何字符。

答案 1 :(得分:1)

假设用户输入了这个:

<foo> &gt;bar&lt; hi & bye &gt;/bar&lt;

现在,他们可能意味着:

<foo> &gt;bar&lt; hi &amp; bye &gt;/bar&lt; </foo>

但他们可能意味着:

<foo> &amp;gt;bar&amp;lt; hi &amp; bye &amp;gt;/bar&amp;lt; </foo>

您可以通过关闭未关闭的标记和转义来清理和清理应该格式良好的XML文本。我不熟悉任何能为你做这件事的javascript库。

答案 2 :(得分:0)

XMLText = XMLText.Replace("&", "&amp;");
XMLText = XMLText.Replace("""", "&quot;");
XMLText = XMLText.Replace("'", "&apos;");
XMLText = XMLText.Replace("<", "&lt;");
XMLText = XMLText.Replace(">", "&gt;");
return XMLText;