我写了一个.net的webservice应用,PHP通过soapclient调用webservice的方法,返回一个dataset类型的数据,得到的是一个标准的XML文档,但是用PHP打印得到的结果,
<?xml version="1.0" encoding="utf-8" ?>
- <DataSet xmlns="http://hy-sims.125816.com/">
- <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
- <xs:complexType>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="aa">
- <xs:complexType>
- <xs:sequence>
<xs:element name="a_id" type="xs:int" minOccurs="0" />
<xs:element name="aname" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
- <NewDataSet xmlns="">
- <aa diffgr:id="aa1" msdata:rowOrder="0">
<a_id>1</a_id>
<aname>yang</aname>
</aa>
</NewDataSet>
</diffgr:diffgram>
</DataSet>
这个是查看到的XML文档,但是用PHP调用后打印出来
stdClass Object ( [dsResult] => stdClass Object ( [schema] => [any] => 1yang ) )
是这样一个类类型。
我想要得到的是a_di=1 aname=yang 这样格式的结果集,就像PHP直接查询数据库返回的结果集一样。
或者别的格式的也可以,但是能让我解析出来。
我在网上查了好多,都说dataset就是XML格式,但是我PHP这方面不很懂。不知道怎么做。
<?xml version="1.0" encoding="utf-8" ?>
- <DataSet xmlns="http://hy-sims.125816.com/">
- <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
- <xs:complexType>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="aa">
- <xs:complexType>
- <xs:sequence>
<xs:element name="a_id" type="xs:int" minOccurs="0" />
<xs:element name="aname" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
- <NewDataSet xmlns="">
- <aa diffgr:id="aa1" msdata:rowOrder="0">
<a_id>1</a_id>
<aname>yang</aname>
</aa>
</NewDataSet>
</diffgr:diffgram>
</DataSet>
这个是查看到的XML文档,但是用PHP调用后打印出来
stdClass Object ( [dsResult] => stdClass Object ( [schema] => [any] => 1yang ) )
是这样一个类类型。
我想要得到的是a_di=1 aname=yang 这样格式的结果集,就像PHP直接查询数据库返回的结果集一样。
或者别的格式的也可以,但是能让我解析出来。
我在网上查了好多,都说dataset就是XML格式,但是我PHP这方面不很懂。不知道怎么做。
解决方案 »
- 怎么查看加密的PHP文件,打开后显示“zend”!求救!!
- apache的图标不显示
- 初学PHP问个白痴问题,希望各位大佬赐教
- failed to open stream: HTTP request failed! HTTP/1.0 401 Unauthorized
- 就是下面的代码,保存成 aa.wsf 文件,但是双击运行时报错,我不知什么原因?
- mysql 个人版与企业版有什么区别?
- 如何CRUL实现自动登录,(不是采集)
- php+ORACLED 多用户访问时oracle报错ORA-01001无效的游标 !!!急急急!!!!
- 急需 广告轮播系统源代码
- session的变量在框架frame中值丢失问题,急!help!!!
- 编码问题
- 测试验证码,两个页面的session值不一样
================================
你打印出这样的东西,说明调用没问题。
你看下页面原代码,result->dsResult->any应该是个xml串。
你可以使用simplexml_load_string解析那个串,看看手册就行了。
["NewDataSet"]=>
object(SimpleXMLElement)#5 (1) {
["aa"]=>
array(2) {
[0]=>
object(SimpleXMLElement)#6 (2) {
["aid"]=>
string(1) "1"
["aname"]=>
string(4) "yang"
}
[1]=>
object(SimpleXMLElement)#7 (2) {
["aid"]=>
string(1) "2"
["aname"]=>
string(4) "long"
}
}
}
}
我得到是这样的。东西