libxml区别于“和”

时间:2010-10-25 10:28:49

标签: iphone ruby-on-rails libxml2

我遇到了一个令人难以置信的奇怪问题:

我正在使用的libxml解析器区别于“和”。

有吗?以下属性产生错误:

  

name =“New Headway_the third edition”

如果我用“我的键盘输入”替换“字符”,一切正常......我已经证明,彼此旁边不只有两个'字符......解析器返回以下错误:

:72: parser error : invalid character in attribute value
<TopCont id="1197" name="New Headway_the thir...
                         ^

真正奇怪的是,这个属性来自一个网络服务,它能够很好地运行到他的TopCont ......人物以非常正常的方式运行!

感谢您的帮助, 马库斯

1 个答案:

答案 0 :(得分:2)

第一个是“ - ascii代码34 - 这是在XML文件中使用的有效双引号。

另一个是某种花哨的开放双引号(或接近双引号,我无法说清楚)。从XML解析器的角度来看,它看起来与代码34的字符非常相似。

解析器只接受“(34)作为引用。你不能使用任何其他角色并期望它起作用 - 就像随意使用任何其他角色并期望它有意义一样:

<TopCont id="1197" name=¢New Headway_the thir...

你感到困惑的唯一原因是因为“和”看起来与人类相同;解析器只关心它的字符代码:)


NB很奇怪,一个Web服务将返回两种类型的引用 - 这告诉我有人可能从其他地方剪切并粘贴,即Word?什么是网络服务?