PHP xpath不会返回数据

时间:2015-10-26 19:15:31

标签: php

我试图使用PHP xpath从XML文件中过滤掉一些信息,不知怎的,响应似乎总是空的。有没有人知道是什么原因引起的?

Xml示例:

<account>
    <a>Information1</a>
    <b>Information2</b>
    <c>Informatio3</c>
</account>

我的实际代码:

   public static function user_cache($username) {
      $xml = @file_get_contents('xmlfile');
      $xml = @simplexml_load_string($xml);
      if ( $xml ) {
         $results = array(
            "userid" => $xml->xpath('a')
         );
      }
      else {
         $results['message'] = 'Unable to get data.';
      }
      return $results;
   }
{
    "userid": []
}

1 个答案:

答案 0 :(得分:0)

这更像是一个XPATH问题。正确的语法是

$xml->xpath('//a')

您可以在此处找到有关XPATH语法的更多信息:http://www.w3schools.com/xsl/xpath_syntax.asp

另一方面,xpath方法返回一个SimpleXMLElement数组,所以考虑到这一点。 http://php.net/manual/en/simplexmlelement.xpath.php