我是php的新手。
我想从url解析emp_test.xml,如:
<?xml version="1.0" encoding="utf-8"?>
<all_emp>
<emp_detail>
<emp emp_name="john"><img>john_1.jpg</img></emp>
<emp emp_name="john"><img>john_2.jpg</img></emp>
<emp emp_name="john"><img>john_3.jpg</img></emp>
<emp emp_name="marry"><img>marry_1.jpg</img></emp>
<emp emp_name="marry"><img>marry_2.jpg</img></emp>
<emp emp_name="david"><img>david_1.jpg</img></emp>
</emp_detail>
</all_emp>
要获得所有img的属性是john:
$url = 'https://.../emp_test.xml';
$xml = simplexml_load_file("$url") or die("Error: Cannot create object");
foreach ($xml->xpath("//*[@emp_name='john']/img") as $node)
{
$img = (string) $node;
return $img;
}
我可以解析xml。
但是,这是结果:
john_1.jpg
如何获取所有img的属性是john之类的?
john_1.jpg
john_2.jpg
john_3.jpg
感谢您的阅读。
答案 0 :(得分:0)
你可以这样使用。
<?php
$url = '<?xml version="1.0" encoding="utf-8"?>
<all_emp>
<emp_detail>
<emp emp_name="john"><img>john_1.jpg</img></emp>
<emp emp_name="john"><img>john_2.jpg</img></emp>
<emp emp_name="john"><img>john_3.jpg</img></emp>
<emp emp_name="marry"><img>marry_1.jpg</img></emp>
<emp emp_name="marry"><img>marry_2.jpg</img></emp>
<emp emp_name="david"><img>david_1.jpg</img></emp>
</emp_detail>
</all_emp>';
$xml = simplexml_load_string($url) or die("Error: Cannot create object");
$imgstring ='';
foreach ($xml->emp_detail->emp as $node)
{
if (strpos((string) $node->img, 'john') !== false) {
$imgstring .= (string) $node->img.",";
}
}
print_r($imgstring);
?>