|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
例子:
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wsd="http://schemas.xmlsoap.org/ws/2005/04/discovery"
xmlns:wsdp="http://schemas.xmlsoap.org/ws/2006/02/devprof">
<soap:Header>
<wsa:To>
urn:schemas-xmlsoap-org:ws:2005:04:discovery
</wsa:To>
<wsa:Action>
http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe
</wsa:Action>
<wsa:MessageID>
urn:uuid:29cf10da-5c41-4d55-b184-5ee15e38ce23
</wsa:MessageID>
</soap:Header>
<soap:Body>
<wsd:Probe>
<wsd:Types>wsdp:Device</wsd:Types>
</wsd:Probe>
</soap:Body>
1.找到字符串http://schemas.xmlsoap.org/ws/2006/02/devprof所在位置
2.假定字符串起始位置为mIndex,则减去2(去掉="),然后读取在此之前的字符,直到xmlns:的:,反转字符位置,存在Array里面,这个就是xml的域名之一
3.同理读取http://www.w3.org/2003/05/soap-envelope等,获得其他域名
4.根据XML定义,我们知道元素Header前的域名和http://www.w3.org/2003/05/soap-envelope关联,所以读取:Header>前的字符,并和前面获得的域名比较
5.同理检测其他元素前的域名,完成域名解析
缺点:太繁琐,而且一旦其他元素不使用<xxx:元素名>的方式,则无法解析
求教高手是否有其他方式解析检查域名,前提是不能使用xml parser,因为传感器存储空间太小(36kb),如有其他好方法我愿付酬 |
|