2

私はこのフォームを与えました:

<item><parameter name="a">3</parameter></item>

SimpleXMLで「a」を読み取ることは可能ですか?

私はすでに$xml->item-> parameter-> getName();を試しました。ただし、「パラメータ」のみを返します。

前もって感謝します。

4

3 に答える 3

5

はい、次のattributes()方法を使用しますSimpleXML

SimpleXML::属性()

echo (string)$xml->item->parameter->attributes()->name;

コードパッドの例


代替ソリューションを使用していますxpath()

SimpleXML::xpath()

$name = $xml->xpath('item/parameter/@name');
echo $name[0];

コードパッドの例

xpath()常に配列 (またはエラーの場合は false) を返します。これが、それを var に割り当てる必要がある理由です。または、php >= 5.4を使用している場合は、配列の逆参照を使用できます。

echo $xml->xpath('item/parameter/@name')[0];
于 2012-07-05T09:28:30.337 に答える
4

SimpleXML 関数: attribute()について読んでください。

これを使用して、要素のすべての属性を取得できます。
あなたの場合:

$attr = $xml->item->parameter->attributes();
$name = $attr['name'];
于 2012-07-05T09:29:33.200 に答える
0

http://php.net/manual/en/simplexmlelement.attributes.phpを参照してください。

xml:

<item>
 <parameter name="a">3</parameter >
</item>

php:

$xml = simplexml_load_string($string);
foreach($xml->parameter [0]->attributes() as $a => $b) {
    echo $a,'="',$b,"\"\n";
}

// output
name="a"
于 2012-07-05T09:30:24.353 に答える