M6 Mac.6.cn > Internet > > 事关go.6.cn的API

Unreal


0.231%

disconnected
登录后回复主题 | 切换简介显示 | 跳到回复(3)
XML的Atrributes顺序问题

事关go.6.cn的API

... by Unreal ... 1 月 17 天前 ... 230 次点击

go.6.cn的API返回的XML的声明是<?xml version="1.0" standalone="yes" encoding="utf-8"?>这样形式的。

然后我用PHP SimpleXML来处理这个XML就出错。研究后以为是PHP SimpleXML的问题,换用其他方法处理这个XML还是出错。

Google了一下,只有一篇文章提到了这个Atrributes顺序问题。而似乎XML1.0标准里也没提到(我英文不怎么好,可能看漏了),用一些验证工具,有的把standalone放到最后去了,有的直接报错,看来这个顺序是有关系的。

那正确的形式应该是<?xml version="1.0" encoding="utf-8" standalone="yes"?>

另外我看了一下其他网站的的API(豆瓣、饭否、校内),并没有standalone这个Atrributes。

我是一个初学者,所以很多东西都没有经验,不知道这个是不是Livid的疏忽。

WWDC 08 Keynote视频下载地址   |   为什么我的照片会出现在其他人的相册?
创建新主题 ...  3  ...
1 楼 - 7-6 18:13
Livid Sputnik 1
如果你认定是你用的工具无法处理 standalone,那么你先获得 API 输出的 string,用正则或者字符串替换将其中的 standalone="yes" 及前或后的空格去掉就可以了。
2 楼 - 7-7 20:30
weakish 在路上
XML 1.0 spec裏有寫:(2.82.8 Prolog and Document Type Declaration Prolog and Document Type Declaration):

XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'

正确的形式的是<?xml version="1.0" encoding="utf-8" standalone="yes"?>

嚴格按照xml 1.0 spec標准來的會認為<?xml version="1.0" standalone="yes" encoding="utf-8"?>不是xml聲明。
3 楼 - 7-7 21:17
Unreal 楼主 冥王星
@Livid
这样确实是绕开这个问题的解决方法。

@weakish
谢谢你的解释,豁然开朗啊!只怪我英文不行,还要多多修炼。
看完之后有话想说?那就帮楼主加盖一层吧!

在回复之前你需要先进行登录
电子邮件或昵称
密码
© 2007 6.cn  -  京ICP证060797号  -  About  -  V0.7-DEV Illusion Island