组合来自不同 SOAP 方法的循环值

2024-02-08

我从不同的 SOAP 方法获取数据。举个例子:

$wsdl = 'the_url_of_wsdl';
$client = new SoapClient($wsdl); 
$parameters = array(all_the_parameters_inside);
$values = $client->the_method($parameters);
$xml = $values->the_methodResult->any; 
$sxml = simplexml_load_string($xml); 

$wsdl2 = 'the_url2_of_wsdl';
$client2 = new SoapClient($wsdl2); 
$parameters2 = array(all_the_parameters_inside);
$values2 = $client->the_method2($parameters2);
$xml2 = $values2->the_method2Result->any; 
$sxml2 = simplexml_load_string($xml2);

$wsdl3 = 'the_url3_of_wsdl';
$client3 = new SoapClient($wsdl3); 
$parameters3 = array(all_the_parameters_inside);
$values3 = $client->the_method3($parameters3);
$xml3 = $values3->the_method3Result->any; 
$sxml3 = simplexml_load_string($xml3);

如果我 print_r $sxml、$sxml2 和 $sxml3,在里面我可以获得任何数据,可以说

echo $sxml->name; , echo $sxml2->id; and echo $sxml3->description;.

棘手的部分是这些值来自不同的方法,所以我如何将它们组合在同一 HTML 结构的循环中,如下所示:

<div class="article">
   <div class="name">the value from the first method</div>
   <div class="id">the value from the second method</div>
   <div class="description">the value from the third method</div>
</div>

<div class="article">
   <div class="name">the value from the first method</div>
   <div class="id">the value from the second method</div>
   <div class="description">the value from the third method</div>
</div>

<div class="article">
   <div class="name">the value from the first method</div>
   <div class="id">the value from the second method</div>
   <div class="description">the value from the third method</div>
</div>

编辑: 这是我想要实现的扩展示例。两种方法的示例。

第一个soap方法中的print_r(sxml)显示如下结构:

SimpleXMLElement Object
(
    [NewDataSet] => SimpleXMLElement Object
        (
            [HotelFacility] => Array
                (
                    [0] => SimpleXMLElement Object
                        (
                            [HotelId] => 1
                            [HotelCode] => TEST
                            [FacNo] => 6
                            [FacName] => test (bank)
                            [OriginalName] => 
                            [IsPriced] => No
                            [MediaID] => 1
                            [Note] => SimpleXMLElement Object
                                (
                                )

                            [UseinWebFilter] => true
                        )

                    [1] => SimpleXMLElement Object
                        (
                            [HotelId] => 1
                            [HotelCode] => TEST2
                            [FacNo] => 12
                            [FacName] => test center
                            [OriginalName] => Test Center
                            [IsPriced] => No
                            [MediaID] => 1
                            [Note] => SimpleXMLElement Object
                                (
                                )

                            [UseinWebFilter] => true
                        ) //and the list continues...

第二个soap方法中的print_r(sxml2)显示如下结构:

SimpleXMLElement Object
(
    [NewDataSet] => SimpleXMLElement Object
        (
            [HotelPresentation] => Array
                (
                    [0] => SimpleXMLElement Object
                        (
                            [RecId] => 5
                            [HotelId] => 14
                            [HotelCode] => test hotel
                            [PresText] => "the description".
                            [TextType] => HTML
                            [TextCategory] => GENERAL
                            [MediaID] => 4
                            [CrtDate] => 2016-01-06T15:34:00+02:00
                            [ChgDate] => 2016-01-06T15:34:00+02:00
                        )

                    [1] => SimpleXMLElement Object
                        (
                            [RecId] => 3
                            [HotelId] => 4
                            [HotelCode] => test hotel2
                            [PresText] => //and the list continues....

如何合并这两个数组并获得结果,假设我想制作一个如下所示的 html 结构:

<div class="article">
   <div class="name">the value facName from the first method</div>
   <div class="id">the value hotelCode from the second method</div>
</div>

<div class="article">
   <div class="name">the value facName from the first method</div>
   <div class="id">the value hotelCode from the second method</div>
</div>

<div class="article">
   <div class="name">the value facName from the first method</div>
   <div class="id">the value hotelCode from the second method</div>
</div>

HTML 文章将根据 SOAP 方法中的结果数量动态显示。


怎么样:

$sxml1 = simplexml_load_string($xml1);
$sxml2 = simplexml_load_string($xml2);

$facilities = $sxml1->NewDataSet->HotelFacility;
$presentations = $sxml2->NewDataSet->HotelPresentation;

foreach ($facilities as $i => $facility) {
    echo '<div class="article">';
    echo '<div class="name">'. $facility->FacName .'</div>';
    echo '<div class="id">'. $presentations[$i]->HotelCode .'</div>';
    echo '</div>';
}

当然,假设 HotelFacility 和 HotelPresentation 数组元素可以像这样链接在一起(通过它们的索引位置)。根据你的解释很难确定两者之间的关系。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

组合来自不同 SOAP 方法的循环值 的相关文章

  • PHP的spl_autoload_register如何解决与require_once的循环依赖?

    PHP的spl autoload register如何解决与require once的循环依赖 循环依赖可以解决某些情况 但不是全部 让我们从一个失败的例子开始 假设我们在不同的文件中定义了三个类 cat php class Cat ext
  • Laravel 5 通过外部 API 对用户进行身份验证

    我想知道是否可以扩展内置身份验证以使用外部 API 来对用户进行身份验证 我是 Laravel 新手 非常感谢您的帮助 我正在 Laravel 5 2 中为我的客户制作一个自定义应用程序 但我无法直接访问他们的数据库服务器 我只能调用他们的
  • 在 WordPress 中使用 jquery 日期选择器

    我想要在我的 WordPress 模板页面的表单中使用日期选择器 但它不起作用 这是我的子主题functions php的代码 function modify jquery if is admin comment out the next
  • 如何使用 Laravel 5.3 注销并重定向到登录页面?

    我正在使用 Laravel 5 3 并尝试实现身份验证系统 我用了php artisan命令make auth来设置它 我根据我的布局编辑了视图 并将其重定向到我的仪表板页面而不是主页 在设置中设置为默认值 现在 当我尝试注销时 它向我抛出
  • 是否存在类似于适用于 Ruby 的 ActiveMerchant 的 PHP 项目?

    我很好奇是否有人知道 ActiveMerchant 中存在的具有类似通用支付处理器功能的 PHP 功能 如果您正在寻找类似 PHP 中的 Active Merchant 的内容 请检查this http github com akDevel
  • 添加产品属性列以在 Woocommerce 中编辑订单页面

    对此的任何帮助都非常感激 到目前为止尝试了很多方法都无济于事 包括这里的建议 将产品简短描述添加到 Woocommerce 管理订单预览 https stackoverflow com questions 49755552 add prod
  • 在php中设置数据库中的会话

    如何使用 php 和 mysql 在数据库表中使用会话 您需要创建一个像这样的对象 class SessionHandler private static lifetime 0 private function construct obje
  • 将加载 gif 添加到简单脚本中

    我对 Javascript 真的很陌生 但我已经有了这个加载 url 内容的脚本 一切都工作正常 我使用按钮上的 onClick 方法调用 plannerSpin 函数 但是当这一切发生时 我将如何显示动画 gif var xmlHttp
  • 为数据库生成随机 ID

    我对一个项目有一个要求 我需要生成唯一的 ID ID 必须大写 我无法检查数据库以查看 ID 是否已被使用过 我们预计每个月都会有数百万条记录添加到数据库中 我在这里尝试过解决方案 PHP 如何生成随机的 唯一的字母数字字符串 https
  • 雄辩的致命错误:参数传递的实例不正确

    我正在使用 Slim 和 Eloquent 在 PHP 中构建端点系统 如上所述here http www slimframework com news slim and laravel eloquent orm 在我的本地开发中运行它时
  • Gmail 搜索怎么这么快?

    搜索这么多字符的最有效方法是什么 你怎么认为 假设网站是用 PHP 和 MySQL 构建的 我应该学习什么才能尽可能有效地构建它 有什么我应该学习的算法吗 文本索引算法 https stackoverflow com questions 4
  • S3 上上传文件的 MIME 类型

    如何更改 Amazon S3 上上传文件的 MIME 类型 我尝试过http docs amazonwebservices com AWSSDKforPHP latest m Amazon S3 更改内容类型 http docs amazo
  • Codeigniter子域路由

    我正在尝试在 CodeIgniter 框架上运行的网站上设置博客脚本 我想在不对现有网站代码进行任何重大代码更改的情况下执行此操作 我认为创建一个指向另一个控制器的子域将是执行此操作的最干净的方法 我设置新设备所采取的步骤Blog涉及控制器
  • 分页当前链接未突出显示

    我遇到了一个奇怪的问题 我当前的分页链接未突出显示 我制作的分页网址如下所示 site com list 50 some value 一切工作正常 但当前视图中的分页链接未突出显示 我检查了CSS 没问题 我猜问题出在库上 这是我的代码 我
  • 将平面数组拆分为分组子数组,其中包含输入数组中连续键的值

    我有一个数组array diff函数 如下所示 Array 0 gt world 1 gt is 2 gt a 3 gt wonderfull 5 gt in 6 gt our 正如您所看到的 键 3 和键 5 之间有一个间隙 即没有键 4
  • 使用 SOAP 调用 WCF 服务

    我正在尝试在不创建 WCF 客户端的情况下测试 WCF 服务 我有类似的代码 问题here https stackoverflow com a 1643025 1397017 我希望完全控制 SOAP 负载 因此我希望能够发出我自己的 We
  • 如何更改数组键从 1 而不是 0 开始[重复]

    这个问题在这里已经有答案了 我在某个数组中有值 我想重新索引整个数组 以便第一个值键应该是 1 而不是零 即 默认情况下 PHP 中的数组键从 0 开始 即0 gt a 1 gt b 我想重新索引整个数组以从 key 1 开始 即1 gt
  • 无法访问扩展 Symfony\Bundle\FrameworkBundle\Controller\Controller 的控制器中的 Symfony2 容器

    原始问题 我已经阅读了 book http symfony com doc current book service container html 关于服务容器 我仍然感到困惑 因为几乎每次我尝试使用时 事情似乎都随机不起作用 this g
  • 如何确定网站的语言

    我有一个网站的网址 需要找出该网站使用哪种语言 无论是西班牙语 法语 意大利语等 该网站的顶级域名是 com 这根本没有帮助 我无法简单地检查字符串是否包含 de fr 或任何其他国家 地区代码 我试图得到lang的属性html标签 但有很
  • 单击保存文件

    我希望能够通过单击下载 csv 文件 而不是在浏览器中打开 我把这段代码 a href file csv download file a 但单击它会在浏览器中打开 v 文件 在本地主机中 当我单击链接时 它正在下载 但在服务器上时 它在浏览

随机推荐

  • 从 Javascript 调用 Flex/AS3 回调

    我有一个 Javascript API 它应该可以与 GWT 和 Flex 一起使用 使用 FABridge 从 AS3 调用 Javascript 方法非常容易 反之亦然 但是 当我尝试在 Javascript API 中注册 AS3 方
  • 包含声明的闭包的类型错误不能与结果生成器“ViewBuilder”一起使用

    var body some View VStack alignment center func CheckInput lt here the error if name self showAlertC1 true else if check
  • Visual Studio Code 中 TypeScript 文件中的绝对模块路径解析

    我似乎无法说服 Visual Studio Code 解析绝对 TypeScript 模块路径 相对路径有效 但绝对路径无效 我希望 Visual Studio Code 能够解析来自 src文件夹上 This works when sou
  • jQuery UI 对话框(模态),防止任何回发

    如何在 jQuery UI 对话框中进行 ASP NET 提交按钮回发 实际上 我正在使用 UI 对话框模式 就像我们使用 Ajax 控件工具包的模式所做的那样 来更新存储在 gridview 控件中的数据值 我可以做所有事情 但无法使用
  • BLE 参数协商如何工作?

    我想知道当 中央 和 外围 设置不同的参数时 参数协商如何工作 我可能是错的 但根据我的理解 外围设备在连接时会发出更新请求 以设置连接的参数 然后中央决定是否批准 我不明白的是如何决定这些参数是否获得批准 而且我还没有找到任何代码 例如
  • PowerShell - 为加载的程序集设置别名

    我使用这段代码来加载 Net汇编到 PowerShell System Reflection Assembly Load System Windows Forms Version 2 0 0 0 Culture neutral Public
  • 向 Python Swig 模板类添加新方法

    我需要向我的 swig 模板类添加一个新方法 例如 我在 myswig i 中声明一个模板类 如下所示 template DoubleVector vector
  • 无法滚动到溢出容器的弹性项目的顶部

    在尝试使用 Flexbox 制作有用的模式时 我发现似乎是浏览器问题 并且想知道是否有已知的修复或解决方法 或者关于如何解决它的想法 我试图解决的问题有两个方面 首先 使模态窗口垂直居中 这按预期工作 第二个是让模态窗口在外部滚动 因此整个
  • 如何更改 QTabWidget 中的文本对齐方式?

    我找不到在 QTabWidget 中设置文本对齐方式的方法 创建此小部件的实例后 我设置了其选项卡位置属性为西方 但我希望它水平显示文本 标签 我已经看过 Qt 的了样式表 https doc qt io qt 4 8 stylesheet
  • 在 VS Code 中创建自定义 HTML 片段

    我正在远离织梦者 我知道它很糟糕 但它有它的用处 用于 VS Code 的电子邮件开发 Dreamweaver 提供的一项方便的功能是使用自定义片段 VS Code 优惠自定义片段 https code visualstudio com d
  • Spring 的 ThreadPoolTask​​Executor 的默认队列大小是多少?

    我正在使用 Spring 4 3 8 RELEASE 和 Java 7 我想创建一个线程池来执行任务 所以我在 Spring contxet 中设置了以下内容
  • 如何获取子进程的退出状态?

    两个示例输出 由我的教授提供 是 这些在 Linux 终端中输入 ibrahim ibrahim latech prog2 Current working directory home ibrahim Executing ls all l
  • 使用 React 路由器以编程方式导航

    With react router我可以使用Link元素来创建由反应路由器本机处理的链接 我看到它内部调用this context transitionTo 我想做一个导航 不是来自链接 而是来自下拉选择 作为示例 我怎样才能在代码中做到这
  • usql 应用程序和脚本的单元测试

    我有一个自定义的 USql 应用程序 它扩展了IApplier class SqlUserDefinedApplier public class CsvApplier IApplier public CsvApplier totalcoun
  • 使用 Safari/Chrome 卸载时的 Ajax(或 JSONP)

    如果您尝试发送 Ajax 请求 JSONP 请求 甚至卸载时的 window name 请求 Safari 和 Chrome 会运行代码 但服务器永远看不到该请求 我的理论是执行线程在更改页面之前决不允许脚本标记运行 这是一个带有 JSON
  • 如何在javascript中获取托管bean属性值[重复]

    这个问题在这里已经有答案了 谁能告诉我如何在 javascript 方法中获取托管 bean 属性值 就像是 function fonction1 var variable myBean property 你可以喜欢这样
  • 如何在已加载的页面上生成并显示 TCPDF pdf?

    我正在尝试使用 TCPDF 即时生成 PDF 并将其显示在浏览器中 我已经 将 PDF 输出为下载文件 内联输出 PDF 无需任何 HTML 使用 pdf gt Output example 007 pdf I 我想做的是 输出内嵌已打印
  • 为什么 2 的补码符号扩展通过添加符号位的副本来工作?

    我们以将 16 位有符号数符号扩展为 32 位寄存器为例 例如mov 5 ax movswl ax ebx 有两种可能的情况 高位为零 数字为正 这是非常容易理解和直观的 例如 如果我有号码5 左填充零非常容易理解 例如 00000000
  • 闪亮的r:来自上传数据的数字输入

    我刚刚开始使用闪亮并得到以下结果basic问题 1 上传的纵向数据包括治疗名称一栏 如A B C D 另一栏包括相应的数字代码 如1 2 4 6 根据上传的数据 编码可能会有所不同 每种治疗均针对一组患者进行 我想使用数字代码来选择要比较的
  • 组合来自不同 SOAP 方法的循环值

    我从不同的 SOAP 方法获取数据 举个例子 wsdl the url of wsdl client new SoapClient wsdl parameters array all the parameters inside values