在PHP中从XML检索数据值

时间:2017-04-05 09:12:22

标签: php xml

我正在尝试从XML响应中检索OrderIDSessionIDURL值。我是新手。
我尝试了以下代码但没有工作。

$orderID = $response->TKKPG->Response->Operation->Order->OrderID;
$sessionID = $response->TKKPG->Response->Operation->SessionID;
$URL = $response->TKKPG->Response->Operation->Order->SessionID;

echo $orderID;
echo $sessionID;
echo $URL;

但这种接缝不起作用。

请参阅下面的XML

$response = "<TKKPG><Response>
    <Operation>CreateOrder</Operation> 
    <Status>00</Status>
    <Order>
      <OrderID>83916</OrderID>
      <SessionID>6C94CDCB27E9EF48DA9B94119887E681</SessionID>
      <URL>returnpage.php</URL>
    </Order>
  </Response></TKKPG>"

2 个答案:

答案 0 :(得分:0)

试试这个:

$xml=simplexml_load_string($response) or die("Error: Cannot create object");
print_r($xml);

simplexml_load_file - 将XML文件解释为对象。这样你就可以轻松地将数据输入到对象中。

答案 1 :(得分:0)

您显示的数据是一个字符串。您必须将该字符串提供给XMLReader,就像这样的simpleXML。然后,XML字符串中的项目将转换为PHP对象,对象将按此方式进行寻址。

$ make
mkdir -p .objects
cc -MMD -MP -c main.c -o .objects/main.o
mkdir -p .objects/test
cc -MMD -MP -c test/test.c -o .objects/test/test.o
cc .objects/main.o .objects/test/test.o -o mytarget

$ tree -a
.
├── main.c
├── Makefile
├── mytarget
├── .objects
│   ├── main.d
│   ├── main.o
│   └── test
│       ├── test.d
│       └── test.o
└── test
    ├── test.c
    └── test.h

3 directories, 9 files

结果

mkdir
  

参考SimpleXML in the manual