抱歉,如果有一个明显的答案(我知道大约有 1000 个类似的问题) - 但我花了两天时间试图攻击这个但没有成功。我似乎无法破解为什么我得到一个空响应......
简短的背景:以下工作正常
$xurl= new SimpleXMLElement('https://gptxsw.appspot.com/view/submissionList?formId=GP_v7&numEntries=1', NULL, TRUE);
$keyname = $xurl->idList->id[0];
echo $keyname;
这提供了一个响应:像 uuid:d0721391-6953-4d0b-b981-26e38f05d2e5 这样的唯一键
但是我尝试了一个类似的请求(最终将基于第一个请求)并失败了。我已将代码简化如下...
$xdurl= new SimpleXMLElement('https://gptxsw.appspot.com/view/downloadSubmission?formId=GP_v7[@version=null%20and%20@uiVersion=null]/GP_v7[@key=uuid:d0721391-6953-4d0b-b981-26e38f05d2e5]', NULL, TRUE);
$keyname2 = $xdurl->data->GP_v7->SDD_ID_N[0];
echo $keyname2;
这提供了空值。如果我尝试类似 echo $xdurl->asXML(); 我从网站(不是来自 PHP)收到错误响应。
我是否需要从 SimpleXMLElement 中弹出第二个请求?我已经阅读了有关使用 XPath 和定义命名空间的信息,但我不确定是否需要其中任何一个:第二个文件确实有两个命名空间,但其中一个未使用,另一个没有元素前缀。另外,我已经尝试了这些变体 - 足以认为我的问题/错误本质上更具全球性(或由于缺乏经验而导致疏忽)。
出于此请求的目的,我无法控制任一 XML 文件的格式。