PHP解析.Net的webservice返回的dataset
我写了一个.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这方面不很懂。不知道怎么做。
------解决方案--------------------
stdClass Object ( [dsResult] => stdClass Object ( [schema] => [any] => 1yang ) )
================================
你打印出这样的东西,说明调用没问题。
你看下页面原代码,result->dsResult->any应该是个xml串。
你可以使用simplexml_load_string解析那个串,看看手册就行了。