Содержимое xml тега

brodobrey

Новичок
Содержимое xml тега

Многоуважаемые,

Есть задачка
Нужно получить содержимое xml тегов

У меня существует ряд файлов с одинаковой структурой вида

Пример:
<body>
<xml_1><b>трям</b></xml_1>
<xml_2><p>трям трям трям трям трям трям трям трям трям трям</p></xml_2>
<xml_3><div class="bb">трям<br/>трям<br/>трям<br/>трям<br/></div></xml_3>
</body>

В результате я должен получить

массив вида
Array (
[xml_1] = <b>трям</b>
[xml_2] = <p>трям трям трям трям трям трям трям трям трям трям</p>
[xml_3] = <div class="bb">трям<br/>трям<br/>трям<br/>трям<br/></div>
)

Кто нибудь решал подобную задачку?
Не поможете ли мне )))

Заранее благодарен!!!


PS. желательно это решить через xml parser функции
 

brodobrey

Новичок
Есть специфические сервера, где DOM может быть отключен.
Поэтому было бы интересно, если бы реализовано было бы это на XML Parser Functions
 

tashkentchi

Новичок
Тогда вот здесь ответ на твой вопрос: http://www.php.net/manual/ru/ref.xml.php

Но учти:
This extension uses an expat compat layer by default. It can use also expat, which can be found at http://www.jclark.com/xml/expat.html. The Makefile that comes with expat does not build a library by default, ...
В то время, как для DOM:
Для использования этих функций не требуется проведение установки, поскольку они являются частью ядра PHP.
 

brodobrey

Новичок
при использовании подобного

$dom = new DomDocument;
$dom->preserveWhiteSpace = FALSE;
$dom->loadXML($file);
$params = $dom->getElementsByTagName('sm_conditions');

foreach ($params as $param) {
print $param -> textContent .'<br>';

}


возвращается текст без html тегов.
В чем я не прав?
 

tashkentchi

Новичок
textContent - это текст без тегов. А теги хтмл в даном случае являются тегами xml. Вот и вырезаются. К сожалению, в пхп-шном ДОМе нет innerHTML. Поэтому вижу два варианта решения:

1. При составлении xml мнемонизировать хтмл. Тогда все ок.

2. Рекурсией по чайлдам восстановить хтмл
 
Сверху