WhoSain
Guest
xml и вывод текстового блока
Может кто из продвинутых прокомментирует ситуацию, а то уже есть желание застрелиться...
Форум и PHP.NET толком ничего не дал, может это только я такой кривой...
Есть простая строка xml<Header>Заголовок</Header>
Всего и проблема-то - получить строку "Заголовок" для вывода!
Есть чудный domxml, в недрах мануалов которого написано:
DomNode->node_value - возвращает значение узла. string DomNode->node_value (void)
Возвращает значение данного узла. Значение имеет разный смысл для разных типов узлов, как видно из таблицы. В таблице видно буквально следующее:
Тип - Domtext,Значение - содержимое текста. Вроде бы все просто,но текст таким способом не выводится. Как я понял, в xml блок текста это всегда следующий родственник после тега "Header", всегда имеющий имя #Text. Проверка на XML_TEXT_NODE проходит нормально.В JavaScript например есть CurrentNode.Text и все работает. На PHP.NET есть такой метод получения текстового блока:
$temp = $dom->get_elements_by_tagname("Header");
foreach($a as $nexta) {
echo $nexta->get_content();
}
В целом, node->get_content() и так будет работать, без массива и foreach, если с кодировками не напутать, выдает правда кракозябли (UTF-8), но тем не менее. Но на PHP.NET написано get_content() Not in DOM standard, deprecated. Полчается, что node_value() не выдает значения вообще, а для вывода текста не написано отдельной функции, как в JScript. Как быть ?
Заранее спасибо!
Может кто из продвинутых прокомментирует ситуацию, а то уже есть желание застрелиться...
Форум и PHP.NET толком ничего не дал, может это только я такой кривой...
Есть простая строка xml<Header>Заголовок</Header>
Всего и проблема-то - получить строку "Заголовок" для вывода!
Есть чудный domxml, в недрах мануалов которого написано:
DomNode->node_value - возвращает значение узла. string DomNode->node_value (void)
Возвращает значение данного узла. Значение имеет разный смысл для разных типов узлов, как видно из таблицы. В таблице видно буквально следующее:
Тип - Domtext,Значение - содержимое текста. Вроде бы все просто,но текст таким способом не выводится. Как я понял, в xml блок текста это всегда следующий родственник после тега "Header", всегда имеющий имя #Text. Проверка на XML_TEXT_NODE проходит нормально.В JavaScript например есть CurrentNode.Text и все работает. На PHP.NET есть такой метод получения текстового блока:
$temp = $dom->get_elements_by_tagname("Header");
foreach($a as $nexta) {
echo $nexta->get_content();
}
В целом, node->get_content() и так будет работать, без массива и foreach, если с кодировками не напутать, выдает правда кракозябли (UTF-8), но тем не менее. Но на PHP.NET написано get_content() Not in DOM standard, deprecated. Полчается, что node_value() не выдает значения вообще, а для вывода текста не написано отдельной функции, как в JScript. Как быть ?
Заранее спасибо!