簡體   English   中英

無法在php中使用xpath獲取值

[英]Fail to get value with xpath in php

我在從xml字符串中獲取值時遇到問題。 $ query_return_string包含以下字符串:

<?xml version="1.0" encoding="UTF-8"?>
<sparql xmlns="http://www.w3.org/2001/sw/DataAccess/rf1/result">
  <head>
    <variable name="label"/>
  </head>
  <results>
    <result>
      <label>Demo sports 3</label>
    </result>
  </results>
</sparql>

這是php代碼:

<?php
if ($query_return_string) {
  $query_return_dom = DOMDocument::loadXML($query_return_string);

  $xpath_dom = new DOMXPath($query_return_dom);

  $xpath = '//label';

  $entries = $xpath_dom->query($xpath);
  dsm($entries->length);
  // /sparql/results/result/label
}
?>

我甚至沒有費心去嘗試越過對象獲取值,因為$ entries-> length返回0.我可能做錯了什么? 這似乎很基本。

您需要注冊命名空間。

$xpath_dom->registerNamespace('sw', 'http://www.w3.org/2001/sw/DataAccess/rf1/result');
$xpath = '//sw:label';

等等

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM