如何在xpath中获取选项名称?

时间:2014-02-26 11:10:12

标签: php xml xpath

我正在解析一个xml文件 我想使用xpath查询来获取xml文件中的选项字段名称 喜欢选项名称=“颜色”
我的xml文件内容如下:

<item>
  <type>colour</type>
    <option name="Colour">
      <value>Navy</value>
      <value>Orange</value>
     </option>
</item>

<item>
 <type>size</type>
   <option name="Size">
      <value>Navy</value>
      <value>Orange</value>
   </option>
</item>

我想检查一下:我不确定如何检查这种情况

    $xml = simplexml_load_file('test1.xml');
        foreach($xml as $product)
        {
             echo $product->type;            
             if(xpath('//option[@name="Colour"]'))
              {
                  echo "color is there";
              }

            if(xpath('//option[@name="Size"]'))
             {
                echo "size is there";
              } 


    }

1 个答案:

答案 0 :(得分:0)

您可以在没有XPath的情况下使用DOM,如下所示:

$doc = new DOMDocument();
$doc->loadXML($xml);

foreach($doc->getElementsByTagName('option') as $option) {
    switch($option->getAttribute('name')) {
        case "Colour" :
          echo "Colour is here";
          break;

        case "Size" : ...
          echo "Size is there";
          break;
    }
}