用PHP在xpath之后从simplexml_load_file中获取@attributes不在数组中

时间:2018-07-18 15:36:40

标签: php xml xpath attributes simplexml

我有一个xml,并且在使用simplexml_load_file加载xml之后,可以使用xpath获取具有所需数据的数组。

我这样尝试过:Access @attributes data in SimpleXMLElement in PHP

使用我的XML数组,我仍然无法访问节点,有人可以检查我的代码:谢谢

#!/usr/bin/env bash

case $1 in

start)
    echo "Starting S3Fs: "
    s3fs mybucket /home/files -o allow_other,nonempty -d -d
;;

esac

给出了这个数组: 数组

FROM ubuntu:16.04

RUN apt-get update && apt-get install -y \
    openssh-server \
    proftpd-basic \
    proftpd-mod-mysql

COPY proftpd.conf /etc/proftpd/proftpd.conf
COPY sftp.conf /etc/proftpd/conf.d/sftp.conf
COPY setup.sh /etc/proftpd/setup.sh

RUN chmod 500 /etc/proftpd/setup.sh && /etc/proftpd/setup.sh

EXPOSE 2222

ENTRYPOINT ["/bin/sh", "/etc/proftpd/entrypoint.sh"]

如何访问“路径”等值?我有问题 [0] => SimpleXMLElement对象,那么节点的名称是什么?

$result2 = $xml->xpath("//file[@Catid='151']");

辛勤工作.....

谢谢

1 个答案:

答案 0 :(得分:0)

尽管使用XML进行检查会更容易,但是您可能会发现正确的符号是...

echo (string)$result2[0]->attributes()->path;

这假设您想要XPath找到的第一项。

您可能还会找到

echo (string)$result2[0]['path'];

有效(但并非总是如此)。