我有一个XML问题,它由soap作为我的请求给出。它具有标签,因此无法使用我为其创建的文件。
从我的SOAP响应中,创建具有以下结构的XML:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetListProduktResponse xmlns="www.myurl.com">
<data>
<produkt>
<data1>Lorem</data1>
<data2>Ipsum</data2>
<data3>Pipsum</data3>
<data4>Fixum</data4>
</produkt>
<produkt>
<data1>Lorem</data1>
<data2>Ipsum</data2>
<data3>Pipsum</data3>
<data4>Fixum</data4>
</produkt>
</data>
</GetListProduktResponse>
</soap:Body>
</soap:Envelope>
例如,我将其保存到/myfile.xml /
现在,我正在尝试处理XML文件。
$getFile = file_get_contents('myfile.xml');
//Here it is ok
$arr = simplexml_load_string($getFile);
//Here it returns me an empty SimpleXMLElement object
我希望它能给我这样的对象:
SimpleXMLElement #067f
GetListProduktResponse => SimpleXMLElement #2da9
data => SimpleXMLElement #c1e8
produkt => array (6952) [ ... ]
它仅返回:
SimpleXMLElement #0d9b
如果我从XML中删除了<soap:Body>
标记,它确实可以工作,但是只要它存在,就无法正常工作。
我尝试通过domDocument访问XML的内容,并且还尝试显示docNamespaces之类的东西,但是都没有帮助。
有人可以建议我吗?
谢谢。