如何在php中处理“数据集”数据结构?

pxq42qpu  于 2023-10-15  发布在  PHP
关注(0)|答案(1)|浏览(117)

我正在尝试从php调用soap网络服务。
Web服务返回一个ADO.NET数据集结构。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中,有一个数据集类。ADO.NET数据集包含一个或多个ADO.NET数据表,这些数据表又由一个或多个ADO.NET数据列和数据列组成,这些数据列和数据列在集合(数组)中返回。
一个简单的代码示例,其中数据集只包含一个数据表,可以是:

/**
 * 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中做同样的事情,但我需要帮助。

8i9zcol2

8i9zcol21#

我建议你尝试更多地了解你正在处理的数据的结构。它很可能是某种形式的JSON或XML,可以通过大量的PHP xml和json处理库进行操作。
第一步是查看请求返回的数据并确定其格式。Microsoft将ADO.NET API的数据集以HERE的深度记录在MSDN库中。这应该有助于您在检查数据时理解所看到的内容。某些数据提供程序允许您以不同的格式访问相同的数据,具体取决于参数或类似函数族。您是否有提供商API的文档?
接下来,在您确定了数据集模式的格式和细节之后,您需要一个类来操作数据。如果你处理的是符合发布标准的东西,你可以使用simpleXML,JSON或DOMPlayer。这个类应该将数据存储在受保护的成员变量中,并提供检查,删除,加载,刷新,搜索等方法。您应该参考PHP手册的函数参考以获得帮助,并编写您需要的任何函数。我一般会编写它来处理任何类似的数据集,并派生一个类来公开特定应用程序所需的数据。
另一种方法是用.net语言编写一个COM组件来访问和操作数据,并通过PHP的COM扩展导入它的函数。我想我会去这个选择,如果数据格式是一个奇怪的专有微软之一。
第三种可能的方法只有在您对服务器具有编程访问权限时才有效。如果你能调整服务提供者以符合规范,微软已经发布了一个互操作性工具包,它应该充当.net服务和PHP客户端之间的桥梁,使用一层代理对象将ado.net数据公开给PHP脚本。他们经常使用RESTful这个词,但我真的不知道他们是什么意思。在Microsoft的互操作性总部查看PHP HERE的OData SDK(这里还有关于PHP和其他Microsoft平台和产品(如Azure,Silverlight,Bing等)的信息)。正如我所说的,我认为你需要数据提供者发出符合他们标准的数据。或许已经是了。没有模式我看不出来!如果是这样的话,这是你最好的选择。祝你好运!

相关问题