我使用Python来解析XML文件,但它失败了,因为XML文件嵌套了双引号,例如,
<number="4" word="start" sentence="I said, "start!"" />
如果我将其更改为
<number="4" word="start" sentence="I said, 'start!'" />
然后Python XML解析可以使用它。
我想知道XML是否不允许嵌套双引号,还是仅仅是Python?谢谢!
答案 0 :(得分:2)
它的XML阻止了你正在尝试做的事情。您可以对属性值使用单引号:
<number="4" word="start" sentence='I said, "start!"' />
标准中指出单引号和双引号都可用于分隔属性的部分是here。
您可以使用"
代表双引号:
<number="4" word="start" sentence="I said, "start!"" />
"
看起来很时髦,但绝对正确。正如standard所述:
要允许属性值包含单引号和双引号,撇号或单引号字符(&#39;)可以表示为&#34;
'
&#34;和双 - 引用字符(&#34;)为&#34;"
&#34;。
答案 1 :(得分:1)
翻转你的报价订单:
<number="4" word="start" sentence='I said, "start!"' />
答案 2 :(得分:0)
是的,XML格式不正确。这几乎就是这样说:
<number="4" word="start" sentence="I said, " start!"" />
start!
似乎属于某个属性但又错误地格式化了。双引号需要转义,如下所示:
<number="4" word="start" sentence="I said, "start!"" />
答案 3 :(得分:-2)
是的,因为第一个双引号会关闭你的陈述 &#34;我说,&#34;然后你的程序将START作为标记读取。如果你想使用双引号,你可以使用它。
sentence = "I said, \"start!\" "