我有一个来自 xml 的带有撇号的字符串,应该转义为 '
但事实并非如此。
<city place="park's place"/>
在 html 中,我正在获取值。
<span datafld="place"></span>
我需要 place 的值是“park’
的地方”而不是 park 的地方。目前它显示“park's place”。
我花了很多时间试图找到答案,但似乎找不到。
由于我不允许展示任何原始代码,所以这个代码示例被严重破解在一起。
谢谢。
编辑:这是在使用 javascript 的 xhtml 页面上。
最佳答案
在 XML“数据模型”中,所有值都是未转义的。那么你的属性是否被指定为:
place="park's place"
或:
place="park's place"
或:
place="park's place"
当您使用 XML 解析器(或 DOM)时,您将获得“park's place”。 (像“innerHTML”这样的东西是这个一般规则的异常(exception)。)
如果您需要将其与具有不同转义级别的其他字符串进行比较,那么您要么需要转义从 DOM 获得的字符串,要么需要取消转义其他字符串。这很像您要将以米为单位的测量值与以英尺为单位的测量值进行比较:您需要转换为通用的测量单位/逃逸水平。
如果可以的话,我会选择不转义的方法。如果那不可能,那么您需要确保以一致的方式到处逃脱,这可能很困难。请注意,我已经向您展示了三种不同的合法转义该特定字符串的方法——还有更多。
关于html - 从数据绑定(bind)的 XML 中转义撇号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4403039/