php - Xpath访问XML标记内的属性值

标签 php xml xpath simplexml

我试图为某些正在使用的XML提取<PersonDetails>标记中保存的日期,例如:

    <Record>
        <PersonDetails RecordDate="2017-03-31T00:00:00">
                <FirstName>Joe</FirstName>
                <Surname>Blogs</Surname>
                <Status>Active</Status>
        </PersonDetails>
    </Record>   


目前,我一直在尝试以下方法:

if (isset($XML->Record->xpath("//PersonDetails[@RecordDate]")[0])) {

$theDate = $XML->Record->xpath("//PersonDetails[@RecordDate]")[0])->textContent;

} else {

$theDate = "no date";

}


我的意图是拥有$theDate = 2017-03-31T00:00:00

最佳答案

用于选择属性节点的有效XPath表达式应如下所示:

$theDate = $XML->xpath("//Record/PersonDetails/@RecordDate")[0];

echo $theDate;   // 2017-03-31T00:00:00

关于php - Xpath访问XML标记内的属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44470285/

相关文章:

java - 优化 TableLayout 中的 TextView 颜色

Android XML 解析器不工作但运行

xslt - XPath 相对于源文档中变量的位置

php - 更正 Oracle 上的 Doctrine 日期时间

php - 电子商务 : an intelligent shopping cart.

php - CakeSession::_startSession - 在 Elasticache 上运行缓慢

xml - serde-xml-rs 反序列化 u8 有效但 u16 无效

java - 即使使用完整的 xpath 也无法识别该元素

html - XPath 主要用于Html 或XML 或XHTML?

NetBeans 上的 PHP xdebug 不起作用