2011-03-22 4 views
2

나는 PHP에서 비누 webservice에 전화를하려고 해요.PHP에서 'DataSet'데이터 구조를 다루는 방법?

webservice는 ADO.NET DataSet 구조를 반환합니다. 이런 종류의 데이터 구조를 다룰 수있는 PHP 라이브러리가 있습니까? 그렇다면 무엇을 부르며 어디에서 찾을 수 있습니까? 그렇지 않다면 언제든지 팁을 주시겠습니까?

지금까지,이 (사용의 ActiveMQ와 NuSoap 라이브러리)이 있습니다

/** 
* Create a new service instance 
* Provide ActiveMQ uri and the extended class name 
**/ 
$client = new Client('tcp://localhost:61613?tcpNoDelay=false', 'test'); 

/** 
* New service reference 
**/ 
$service = new ServiceProxy($client, 'ServiceName'); 

/* Service call */ 
$result = $service->get_clients(); 

get_clients()를 실제 서비스 요청을하는 방법이며 답례로 데이터 집합 구조를 가져옵니다. 어떻게이 반환 값을 조작 할 수 있습니까?

예를 들어 .NET에는 DataSet 클래스가 있습니다. ADO.NET DataSet에는 컬렉션 (배열)에서 반환되는 하나 이상의 ADO.NET DataColumns 및 DataRow로 구성되는 하나 이상의 ADO.NET DataTable이 있습니다.

데이터 집합이 하나의 DataTable을 포함하는 간단한 코드 예, 할 수 있습니다 :

/** 
* Here, the val variable will contain the data positioned in the 
* first field of the first DataRow of the first DataTable 
**/ 
string val = dataset.Table[0].Rows[0].ItemArray[0]; 

내가 PHP에서 동일한 작업을 수행하기를 원하지만 내가 도움의 손길이 필요합니다.

+2

이것은 도움이되지 않지만. 내 깊은 애도 .. 아무도 그걸 겪어야 만 해. – CodingInsomnia

+0

도움이 될 수 있습니다. http://stackoverflow.com/questions/1161576/get-data-from-an-xml-net-dataset-in-php – gideon

답변

1

내가 작업하고있는 데이터의 구조에 대해 더 자세히 배우는 것이 좋습니다. 대부분의 JSON 또는 XML 형태로, PHP xml 및 json 처리 라이브러리의 대형 세트를 통해 조작 할 수 있습니다.

첫 번째 단계는 요청에 의해 반환되는 데이터를보고 해당 형식을 식별하는 것입니다. Microsoft는 ADO.NET API의 데이터 집합을 MSDN 라이브러리에서 깊이 HERE으로 문서화합니다. 이렇게하면 데이터를 검사 할 때보고있는 내용을 이해하는 데 도움이됩니다. 일부 데이터 공급자를 사용하면 매개 변수 나 유사한 기능 계열에 따라 서로 다른 형식의 동일한 데이터에 액세스 할 수 있습니다. 공급자 API에 대한 설명서가 있습니까?

다음으로 형식을 식별하고 데이터 집합 스키마의 특성을 해독 한 후에는 데이터를 조작하는 클래스가 필요합니다. 게시 된 표준을 따르는 무언가를 다루는 경우 simpleXML, JSON 또는 DOMXPath와 같은 것을 사용할 수 있습니다.이 클래스는 보호 된 멤버 변수에 데이터를 저장하고 검사, 반복,로드, 새로 고침, 검색 등의 메소드를 제공해야합니다. 도움이 필요하면 PHP 매뉴얼의 함수 레퍼런스를 참조하고 필요한 모든 함수를 작성해야합니다. 비슷한 데이터 세트를 처리하고 특정 애플리케이션에 필요한 데이터를 정확하게 표시하는 클래스를 파생시키기 위해 일반적으로 작성합니다.

또 다른 방법은 .net 언어로 COM 구성 요소를 작성하여 데이터에 액세스하고 조작하고 PHP의 COM 확장을 통해 해당 함수를 가져 오는 것입니다. 데이터 형식이 별난 독점 Microsofty 일 경우이 선택을 할 것이라고 생각합니다.

세 번째 방법은 서버에 대한 프로그래밍 액세스 권한이있는 경우에만 사용할 수 있습니다. 서비스 제공 업체가 사양을 준수하도록 조정할 수있는 경우 Microsoft는 .net 서비스와 PHP 클라이언트 사이의 다리 역할을하는 상호 운용성 툴킷을 출시하여 프록시 객체 계층을 사용하여 ado.net 데이터를 PHP 스크립트에 표시합니다 . 그들은 RESTful이라는 말을 많이 쓰지만, 그 말의 의미가 확실하지 않습니다. Microsoft의 상호 운용성 본부에서 PHP OData SDK HERE을 확인하십시오 (여기에는 PHP 및 기타 Microsoft 플랫폼과 Azure, Silverlight, Bing 등과 같은 제품에 대한 정보도 있습니다). 내가 말했듯이, 나는 당신이 그들의 표준에 부합하는 데이터를 방출하기 위해 데이터 제공자를 필요로한다고 생각한다. 아마도 이미 그랬을 것입니다. 나는 스키마없이 말할 수 없다! 그렇다면 이것이 최선의 방법입니다. 행운을 비네!

관련 문제