我们有以下示例XML:
user["photo"]
使用以下PHP代码,我们尝试访问所有xml节点;
<xml>
<call>
<branchId>2</branchId>
<item_main_display>1</item_main_display>
<workstation_Id>1</workstation_Id>
<formatted_ticket_number>203</formatted_ticket_number>
<queue_letter></queue_letter>
<service_Id>17</service_Id>
<service_Name>konsultanti Queue</service_Name>
<isflashing>false</isflashing>
<workstation_Name>ServicePoint_D924</workstation_Name>
<callTime>1442583923157</callTime>
<timestamp>1442583923</timestamp>
<eventTime>2015-09-18T17:45:23.114+0400</eventTime>
</call>
</xml>
此代码正常,但不包括:对于标记
$xml=simplexml_load_file("sample.xml");
$xmlStr="";
$xmlStr.="<xml>";
foreach($xml->children() as $child1)
{
$xmlStr.="<". $child1->getName().">";
foreach($child1->children() as $child2){
$xmlStr.="<". $child2->getName() .">". $child2 ."</". $child2->getName() .">";
}
$xmlStr.="</". $child1->getName().">";
}
$xmlStr.="</xml>";
对于此标记$ child1-&gt; children()返回null;但如果我在标签之间输入空格
<queue_letter></queue_letter>
或换行符或任何其他字符,返回标记。
这是正常行为吗?我们如何返回不包含字符的子标签?
谢谢。
答案 0 :(得分:0)
如果标签之间有空格,则标签不为空 - 他有一个文本节点作为其子节点。
<queue_letter></queue_letter>
与<queue_letter />
相同,且此标记没有子节点,因此它始终返回null
答案 1 :(得分:-1)
我能够按照以下方式解决这个问题:我的PHP服务器包含resin.jar 我刚下载了它的最新版本并替换了原来的版本。 一切都很完美。看看这个:Resin web server