日期:2014-05-17  浏览次数:20702 次

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解析那个串,看看手册就行了。