我有一个xml文件可能会获得5个特殊字符,例如“&”在进程中插入。我知道xml会在解析这些字符时抛出错误。我使用jQuery ajax方法从xml文件中获取数据。有没有办法在javascript中克服这个解析器错误,比如替换特殊字符?
答案 0 :(得分:2)
简而言之,是的,假设您将xml作为字符串(如果我没记错的话,jQuery会这样做)。然后,您可以执行以下操作:
xmlstr = xmlstr.replace(/&/g, "&");
表示您要替换的任何字符。
答案 1 :(得分:1)
假设用户输入了这个:
<foo> >bar< hi & bye >/bar<
现在,他们可能意味着:
<foo> >bar< hi & bye >/bar< </foo>
但他们可能意味着:
<foo> &gt;bar&lt; hi & bye &gt;/bar&lt; </foo>
您可以通过关闭未关闭的标记和转义来清理和清理应该格式良好的XML文本。我不熟悉任何能为你做这件事的javascript库。
答案 2 :(得分:0)
XMLText = XMLText.Replace("&", "&");
XMLText = XMLText.Replace("""", """);
XMLText = XMLText.Replace("'", "'");
XMLText = XMLText.Replace("<", "<");
XMLText = XMLText.Replace(">", ">");
return XMLText;