DOMXPath->registerNamespace()

(no version information, might be only in CVS)

DOMXPath->registerNamespace() --  Registers the namespace with the DOMXPath object

说明

class DOMXPath {

bool registerNamespace ( string prefix, string namespaceURI )

}

Registers the namespaceURI and prefix with the DOMXPath object.

参数

prefix

The prefix.

namespaceURI

The URI of the namespace.

返回值

如果成功则返回 TRUE,失败则返回 FALSE


add a note add a note User Contributed Notes
spam at spam dot spam
01-Apr-2005 04:46
It is mentioned in a few places on the web, but it wasn't mentioned here. You need to use this function to set up a prefix for the default namespace of a document.

For instance, if you are trying to parse a Microsoft Spreadsheet XML file, which has the default namespace of "urn:schemas-microsoft-com:office:spreadsheet":

$doc = DOMDocument::load("my_spreadsheet.xml);
$xpath = new DOMXPath($doc);
$xpath->registerNamespace("m",
       "urn:schemas-microsoft-com:office:spreadsheet");
$query = '/m:Workbook/m:Worksheet[1]/m:Table';
$result = $xpath->query($query, $doc);

You can use anything in place of the 'm', but you have to specify something! Just asking for "/Workbook/Worksheet/Table" doesn't work.