green-84
Новичок
XPath и пространства имен
С помощью скрипта в файле index.php:
я пытаюсь вывести содержимое нода title в файле base.htm:
Но $entries = $xpath->query("/html/head/title"); ничего не находит из-за объявленного нэймспейса.
Подскажите как правильно свормировать строку запроса "/html/head/title". Может нужно зарегистрировать пространство имен (возможно, используя DOMXPath->registerNamespace()) для файла base.htm?
С помощью скрипта в файле index.php:
PHP:
<?php
$doc = new DOMDocument('1.0', "Windows-1251");
$doc->formatOutput=true;
$doc->validateOnParse = true;
$doc->load("base.html");
$xpath = new DOMXPath($doc);
$entries = $xpath->query("/html/head/title");
foreach ($entries as $entry) {
echo iconv("UTF-8", "Windows-1251", $entry->nodeValue);
}
$doc->save("test.html");
?>
PHP:
<?xml version="1.0" encoding="windows-1251" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=charset=Windows-1251" />
<title>Главная</title>
</head>
<body>
</body>
</html>
Подскажите как правильно свормировать строку запроса "/html/head/title". Может нужно зарегистрировать пространство имен (возможно, используя DOMXPath->registerNamespace()) для файла base.htm?