php - 使用 PHP 解析 XML。重复的节点名称

标签 php xml

我正在使用 simplexml_load_file() 函数解析 xml 文件。当我遇到两个同名节点时出现问题。我的 XML 文件结构是:

<company>
    <name>Test Co</name>
    <link href="link1" rel="self"/>
    <link href="link2" rel="www"/>
</company>

代码如下:

$parametrs = simplexml_load_file("my.xml");
foreach ($parametrs->company as $param ) {
    echo $param->name;    
}

我如何回显每家公司的 link2?

最佳答案

<?php
$xml = '<?xml version="1.0" ?>
<company>
<name>Test Co</name>
<link href="link1" rel="self"/>
<link href="link2" rel="www"/>
</company>';


$parameters = new SimpleXmlElement($xml);

echo (string)$parameters->link[1]['href'];  // note you must cast here!

这将输出“link2”(不带引号)。

此外,您可能想预先检查这些元素是否存在,但我会把它留给您,因为它超出了问题的范围;)

关于php - 使用 PHP 解析 XML。重复的节点名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12918969/

相关文章:

c# - 带有报告服务命名空间枚举的 XML 没有产生任何结果

javascript - 如何在odoo中添加CSS和javascript?

android - 影响 TextView 的 Res/Arrays

节点值内部的 Java XML 节点

php - 获取数组中的值到数据库

PHP - mySQL 查询在第一次尝试时不返回任何数据

php - 如何在mysql中选择前三行

javascript - 打印外部页面而不打开它

php - 有些单选按钮不起作用,有些则起作用

c# - .NET 序列化 XmlNode 问题