gpt4 book ai didi

php - 使用 PHP 解析 XML 获取属性值?

转载 作者:可可西里 更新时间:2023-11-01 00:31:22 32 4
gpt4 key购买 nike

我正在尝试使用 PHP 解析 XML 文件以查找属性值。

XML 如下所示(example.xml):

<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<xryfile XRYVersion="6.11.1.0">
<images>
<image type="PHYSICAL" id="0" version="6.11.1">
<views>
<view type="location_history_view">
<nodes>
<node>
<properties>
<property type="application">Facebook Messenger</property>
<property type="longitude">-1.000000</property>
<property type="latitude">1.000000</property>
</properties>
</node>
</nodes>
</view>
</views>
</image>
</images>
</xryfile>

我希望提取“属性”节点的值,但不确定用于提取此信息的语法。

我试过下面的代码:

<?php

$xml = simplexml_load_file('example.xml');



foreach($xml->property[0]->attributes() as $a) {
echo $a;
}
?>

如果节点是这样的话,我可以弄清楚如何轻松地提取节点:

<property>Facebook Messenger</property>

但是,当出现如下情况时,我无法弄清楚如何提取属性值:

<property type="application">Facebook Messenger</property>

我非常感谢对这个问题的一些帮助,因为我现在已经被困了一段时间。

提前致谢:)

最佳答案

您是否有必须使用 SimpleXML 的特殊原因?如果没有,您可以尝试使用 DOMDocument。代码如下:

$dom = new DOMDocument();
$dom->preserveWhiteSpace = false;
$dom->load('example.xml');

$properties = $dom->getElementsByTagName('property');
foreach($properties AS $property)
{
$value = $property->nodeValue;
$type = $property->getAttribute('type');
echo '<div>Node Information/Value :'. $value. '<br/>'. 'Node attribute:'. $type. '</div>';
}

关于php - 使用 PHP 解析 XML 获取属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29212490/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com