我有一个.xml文件,如下所示:
<Products>
<Product>
<Denumire>Carcasa rigida THULE Legend GoPro, black (TLGC101)</Denumire>
<Cod>TLGC101</Cod>
<Atribut denumire="Tip">geanta/husa</Atribut>
<Atribut denumire="Compatibilitate">GoPro</Atribut>
<Atribut denumire="Dimensiuni">150 x 210 x 80 mm (exterior), 35 x 185 x 125 mm (interior)</Atribut>
<Atribut denumire="Greutate">0.24 kg</Atribut>
<Atribut denumire="Culoare">negru</Atribut>
<Atribut denumire="Altele">interior spuma EVA</Atribut>
<Atribut denumire="Cod">TLGC101</Atribut>
</Product>
我无法找到提取&#34; Atribut&#34;的价值的方法。标签(&#34; geanta / husa&#34;,&#34; GoPro&#34;依此类推)。我的代码如下所示:
$products = simplexml_load_file("http://abc.xyz/feed.xml");
foreach($products->Product as $prod)
{
foreach($prod->Atribut as $key=>$atr)
{
//extract the value for "denumire" attribute
$nume_atribut = (string)$atr->attributes()[0];
//get the value of the "Atribut" tag
}
}
倾销$ prod-&gt; Atribut给了我:
object(SimpleXMLElement)#6 (8) {
["@attributes"]=>
array(1) {
["denumire"]=>
string(3) "Tip"
}
[0]=>
string(11) "geanta/husa"
[1]=>
string(5) "GoPro"
[2]=>
string(58) "150 x 210 x 80 mm (exterior), 35 x 185 x 125 mm (interior)"
[3]=>
string(7) "0.24 kg"
[4]=>
string(5) "negru"
[5]=>
string(18) "interior spuma EVA"
[6]=>
string(7) "TLGC101"
}
...在倾销$ prod-&gt; Atribut [0]时给出:
object(SimpleXMLElement)#8(1){[&#34; @ attributes&#34;] =&gt; array(1){ [&#34; denumire&#34;] =&GT; string(3)&#34; Tip&#34; }}
非常感谢!
答案 0 :(得分:1)
直接使用SimpleXMLElement的方法__toString:
$atr->__toString()
或使用类型转换(实际上它将在内部使用__toString):
(string)$atr