我想查詢一個使用名稱空間的XML文檔。我沒有使用名稱空間的xpath成功,但沒有使用名稱空間的結果。這是我正在嘗試的一個基本例子。我稍微壓縮了一下,所以在我的示例中可能存在一些小問題,可能會降低我的實際問題。如何用PHP/XPath/DOM查詢名稱空間
示例XML:
<?xml version="1.0"?>
<sf:page>
<sf:section>
<sf:layout>
<sf:p>My Content</sf:p>
</sf:layout>
</sf:section>
</sf:page>
示例PHP代碼:
<?php
$path = "index.xml";
$content = file_get_contents($path);
$dom = new DOMDocument($content);
$xpath = new DOMXPath($dom);
$xpath->registerNamespace('sf', "http://developer.apple.com/namespaces/sf");
$p = $xpath->query("//sf:p", $dom);
我的結果是, 「p」 是 「的DOMNodeList對象()」,它的長度爲0。任何幫助將是讚賞。
您的XML沒有命名空間聲明?缺少xmlns:sf =「http://developer.apple.com/namespaces/sf」? – 2010-05-04 12:13:34
文森特,這只是試圖將我的代碼壓縮成樣本的結果。以下xml是原始XML的一部分: 也許我並不理解某些東西。 –
Alsbury
2010-05-04 12:36:27