为 SimpleXMLElements 数组编写 foreach 循环
我正在使用 PHP 5 中的 XPath 来解析 XML 文档。我遇到的问题是编写 foreach
来正确显示以下数组:
XML 文档示例
值1 值2
$xmlfile = 'link_to_file.xml';
$xmlRaw = file_get_contents($xmlfile);
$xml = new SimpleXMLElement($xmlRaw);
$install_files = $xml->xpath('//files');
foreach($install_files as $row)
{
echo $row['file'];
}
//var_dump for $row 给出以下内容
<前><代码> 数组(1) { [0] => 对象(SimpleXMLElement)#21 (2) { [“文件”]=> 字符串(12)“值1” [“文件夹”]=> 字符串(8)“值2” } }
理想情况下,我想通过使用 $row['file']
或 $row['folder']
获取该值。感谢您的任何帮助。
I am using the XPath in PHP 5 to parse a XML document. The problem I have is writing a foreach
to correctly display the following array:
XML document sample
value 1
value 2
$xmlfile = 'link_to_file.xml';
$xmlRaw = file_get_contents($xmlfile);
$xml = new SimpleXMLElement($xmlRaw);
$install_files = $xml->xpath('//files');
foreach($install_files as $row)
{
echo $row['file'];
}
//var_dump for $row gives the following
array(1) { [0]=> object(SimpleXMLElement)#21 (2) { ["file"]=> string(12) "value 1" ["folder"]=> string(8) "value 2" } }
Ideally I would like to get the value by using $row['file']
or $row['folder']
. Thanks for any help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
数组中的项目是 SimpleXMLElement 对象。您可以使用
$object-> 访问它们的属性 ;属性
语法。所以试试这个:The items in your array are SimpleXMLElement objects. You can access their properties with the
$object->property
syntax. So try this:如果我正确理解你的例子,
If I understand your example correctly,
如果您只想处理一个元素,则不一定需要循环,但它也没有坏处。
根据您的输出,
file
和folder
是为 xpath 查询返回的元素的子元素。您可以通过$parentElement->childElement
访问它们。如果它们是属性,您可以使用$element['attributeName']
打印
If you want to process only one element you don't necessarily need a loop, but it doesn't hurt either.
According to your output
file
andfolder
are child-elements of the element returned for your xpath query. You can access them via$parentElement->childElement
. If they were attributes you'd use$element['attributeName']
prints