如何用特殊字符解析xml?特别是对于&符号

时间:2012-07-19 07:29:12

标签: javascript xml special-characters

我从文本框中获取数据并将其更改为xml格式并将其存储在数据库中。为了允许特殊字符,我编写了javascript函数来用它的html实体替换特殊字符。

 "     "
 &     &
 <     &lt;
 >     &gt;

表示“报价,小于,大于”其工作罚款。为“&amp;”它显示xml解析器错误    我使用javascript替换其实体的特殊字符

  string.replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/'/g, "\\'");

  for "&" allow showing warning but it get stored in data base. please help me to sort out this problem . 


 i begin with string.replace(/&/g, '&amp;') even though i am getting 

警告:SimpleXMLElement :: __ construct():实体:第9行:解析器错误:EntityRef:expecting';'在/ var / www / 中        我也试过这个&amp; amp; amp;正如此链接stackoverflow.com/questions/1328538/…中所述     之后没有警告,但在db中保存时,它保存为“ab&amp; amp cd”

1 个答案:

答案 0 :(得分:4)

启动,替换&字符,然后替换其他字符。否则,您将&

从之前的实体(&lt;等)中替换&amp;
string.replace(/&/g, '&amp;amp;') //<= start with
      .replace(/</g, '&lt;')
      .replace(/>/g, '&gt;')
      .replace(/"/g, '&quot;')
      .replace(/'/g, '&apos');
// &apos; may be "\\'",  depends on how te OP wants to use it

[根据评论修改]使用&amp;amp;替换&符号