1

“在你接受的东西上要自由,在你发送的东西上要保守。” ——乔恩·波斯特

现在我正在使用 chrome 浏览器,但我在过去使用 Firefox 时也遇到过同样的情况。

JS代码如...

(new DOMParser).parseFromString("<doc attr=\"foo\" attr=\"foo\" />","text/xml")

返回一个 pukeyparsererror页面,而不是任何有用的东西。

目前,我正在使用表面上看起来是实际存在此问题的 XML 文档。也就是说,某些元素具有两次相同的属性。

根据上述原则,我希望我的程序(建立在浏览器的 DOMParser 对象上)比在面对这样的输入时举起手来做得更好。

我真的不在乎是否采用属性的第一个、最后一个或其他值。

问题:有没有办法让解析器不那么严格?

4

1 回答 1

3

XML 的哲学始终与 Postel 法则相反:如果您对所接受的内容持自由态度,这将鼓励内容创建者在他们创建的内容上疏忽大意。如果你对你接受的东西很严格,内容创作者将被迫对他们生产的东西严格,否则他们生产的东西将毫无用处。修复生成此非 XML 文件的进程。(并且永远不要错误地将这样的对象称为“XML 文档”——如果它是 XML,就不会出现问题。)

于 2012-01-25T08:50:12.710 回答