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'];

これは、 SimpleXML の基本的な例(例 #3および例 #5 )を含む PHP マニュアルに記載されています。

ただし、探している要素の位置が変わると、これは機能しません。そのため、より具体的な xpath-expression を代わりに使用することをお勧めします。

于 2013-02-20T12:23:47.517 に答える