XML只解析一些节点-PHP

  • 本文关键字:节点 -PHP XML php xml
  • 更新时间 :
  • 英文 :


我有以下示例XML:

<PRODUCTRATINGLIST>
  <PRODUCT>
    <VENDORREF>AC308A~</VENDORREF>
    <RATING>100%</RATING>
    <REVIEWCOUNT>7</REVIEWCOUNT>
  </PRODUCT>
  <PRODUCT>
    <VENDORREF>AC308C~</VENDORREF>
    <RATING>98%</RATING>
    <REVIEWCOUNT>89</REVIEWCOUNT>
  </PRODUCT>
</PRODUCTRATINGLIST>

我只是想提取PRODUCT:下的每个节点

$ratings = simplexml_load_file("test.xml");
foreach ($ratings->PRODUCT as $rating){
  $part = $rating->VENDORREF;
  $rating = str_replace('%','',$rating->RATING);
  $numReviews = $rating->REVIEWCOUNT;
}

如果我尝试打印每个元素,例如

echo $part.' '.$rating.' '.$numReviews;

$numReviews总是空白的,我不知道为什么。

您正在用一个变量替换$rating数组,修复如下:

$part = $rating->VENDORREF;
$rating_string = str_replace('%','',$rating->RATING);
$numReviews = $rating->REVIEWCOUNT;

检查以下代码。您可以更改变量名。

$ratings = simplexml_load_file("test.xml");
foreach ($ratings->PRODUCT as $rating){
    $part = $rating->VENDORREF;
    $ratingVal = str_replace('%','',$rating->RATING);
    $numReviews = $rating->REVIEWCOUNT;
}
echo $part.' '.$ratingVal.' '.$numReviews;

最新更新