如何为php采取xml变体

时间:2015-12-25 09:43:59

标签: php xml

我有一个xml。我拿走了所有数据,但我需要一些价值。

 <stock>
 <Ozellik isim="color">Black</Ozellik>

 <Ozellik isim="size">Standart Size</Ozellik>
 </stock>

我写这段代码

$varozellik[$r] = $Urun->Stoklar->Stok[$i]->Ozellik[$r]

然后转回给我 - 黑色                            标准尺寸

但我需要颜色还是尺码?怎么走?

谢谢

1 个答案:

答案 0 :(得分:0)

使用xpath按其Ozellik属性值选择特定的isim节点:

$xml = simplexml_load_string($x); // assume XML in $x
$size = $xml->xpath("/stock/Ozellik[@isim='size']")[0];

xpath表达式将选择

  • Ozellik
  • 的所有stock个孩子
  • 拥有isim属性,其值为&#39; size&#39;。条件位于[]@属于属性。
  • xpath返回SimpleXml元素的数组,因此为了获得标量值,我们取消引用数组,并在行尾使用[0]的第一个值。请注意,这需要PHP&gt; = 5.4。

看到它有效:https://eval.in/493083

请注意,上述代码将选择XML中的所有匹配节点,甚至跨多个<stock>节点。