1

我正在使用 simpleXML 和 php。我试图让我的页面根据不同子元素的值访问特定的子元素。我很困惑如何在不遍历特定父母的每个孩子的情况下做到这一点。我尝试使用 xpath 执行此操作,但我无法找出正确的格式。我的 XML 是:

<vendor>
  <vendor_id>6</vendor_id>
     <name>Store</name>
       <stock>
          <stock_id>4</stock_id>
          <stock_url>http://www.url.com/item.php</stock_url>
       </stock>
       <stock>
           <stock_id>9</stock_id>
           <stock_url>http://www.url.com/items.php</stock_url>
       </stock>
    </vendor>

我想访问特定股票 ID 的 stock_url。这是可能的,还是我需要遍历每个股票实例并进行比较以找到我想要的?

4

1 回答 1

1

这应该这样做:

$xml = new SimpleXMLElement($string); // <-- assuming the XMl you mentioned above is in $string
$stock_id = 9;
$result = $xml->xpath('/vendor/stock[stock_id='.$stock_id.']');
if(!empty($result)) $url = $result[0]->stock_url;
于 2013-08-25T21:40:34.040 回答