【发布时间】:2014-07-24 06:07:44
【问题描述】:
我以 xml 格式接收文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Document xmlns="http://adress1" xmlns:adr="http://adress2" xmlns:inst="adress3" xmlns:meta="adress4" xmlns:oso="adress5" xmlns:str="adress6" xmlns:xsi="adress7">
<str:DataDocument>
<str:Head/>
<meta:Date typeDate="created">
<meta:Time>2014-07-23T12:35:20+02:00</meta:Time>
</meta:Date>
</str:DataDocument>
<contentDocument format="text/xml" coding="xml">
<Values>
<Attachments>
<str:Attachment format="text/html" code="base64" nameFile="name.html">
<str:DataAttachment>VALUESRECEIVE</str:DataAttachment>
</str:Attachment>
<str:Attachment format="text/xml" code="base64" nameFile="name.xml">
<str:DataAttachment>VALUESToRECEIVE</str:DataAttachment>
</str:Attachment>
<str:Attachment format="text/xml" code="base64" nameFile="name2.xml">
<str:DataAttachment>VALUESToRECEIVE</str:DataAttachment>
</str:Attachment>
</Attachments>
</Values>
</contentDocument>
(...)
</Document>
我必须接收所有节点:<str:DataAttachment> 和 <str:DataAttachment> 对于每个 <str:Attachment>。
这是我写的:
$attachment = new SimpleXMLElement(file_get_contents($file1));
//first way
$res = $attachment->xpath('contentDocument/Values/Attachments/*');
//second way
$zalacznikiListFromXml = $attachment->contentDocument->Values->Attachments;
foreach ($attachmentListFromXml as $Attachments){
foreach($Attachmentsas $strAttachment)
$attachToDecode = $strAttachment['str:DataAttachment'];
}
但是xpath 和$attachment->contentDocument->Values->Attachments 都返回空对象。
我不知道是什么问题。你能帮我找到每个 str:DataAttachment 吗?
感谢您的帮助。
【问题讨论】: