2

我正在尝试使用 xml 文件和 SimpleXML 显示图像

XML 代码是

<icons>
  <icon size="tiny"    href="/FF02-tiny.jpg"    />
  <icon size="sidebar" href="/FF02-sidebar.jpg" />
  <icon size="full"    href="/FF02-full.jpg"    />
</icons>

我想获取该行的href属性size="full"

我试过了

icons->icon->attributes()->href

但这只是给了我第一个'tiny'尺寸。我知道我应该使用 xpath,但我迷路了。

4

2 回答 2

2

是的,您可以使用 xpath 表达式选择属性节点:

list($iconHref) = $xml->xpath("//icon[@size='full']/@href");
echo $iconHref;
于 2013-02-20T12:24:46.287 回答
0

$icons->icon将为您提供一个SimpleXMLElement对象,该对象可以访问icon该对象的所有子元素$icons

从那里您需要选择要为其获取属性的图标。这适用于类似数组的访问以及零索引子元素的数值和属性的字符串值:

// specify what icon you want (third)
// and the attribute (href)
$icons->icon[2]['href'];

您可以在 PHP 手册中找到包含SimpleXML 基本示例示例 #3示例 #5)的文档。

但是,如果您要查找的元素的位置发生变化,这将不起作用。所以建议你改用更具体的 xpath-expression

于 2013-02-20T12:23:47.517 回答