我正在通过 API 获取一些数据,它以以下形式返回 XML:
<SUBSCRIBER_ROW>
<SUBSCRIBER>
<ACCOUNT_NUMBER Value="0123456789123"/>
<FIRST_NAME Value="fakeFirstName "/>
<INITIAL Value="w "/>
<SURNAME Value="fakeLastName "/>
<TELEPHONE_NUMBER Value="5551234"/>
<TELEPHONE_AREA Value="403"/>
我必须提取数据的代码如下:
protected function par_getSubscriber($webCBSXML, $isJSON = false){
////parse XML
$msg = 'WebCBS ERR: ';
$dom = new DOMDocument();
if(@$dom->loadXML($webCBSXML)) {
$errors = $dom->getElementsByTagName('Error');
if($parsedData = self::checkError($dom)) {
$parsedData = self::formatOutput($parsedData, $isJSON, true);
return $parsedData;
} else {
$subscriber['account_number'] = $dom->getElementsByTagName('account_number')->getAttribute('Value');
$subscriber['first_name'] = $dom->getElementsByTagName('first_name')->getAttribute('Value');
$subscriber['surname'] = $dom->getElementsByTagName('surname')->getAttribute('Value');
$subscriber['telephone_number'] = $dom->getElementsByTagName('telephone_number')->getAttribute('Value');
但是,整个脚本在这一行之后就死了:
$subscriber['account_number'] = $dom->getElementsByTagName('account_number')->getAttribute('Value');
我没有太多处理 DOM 文档的经验,因为它是从 XML 创建一个对象,所以我无法使用 var_dump/print_r 来查看它的结构!