Выборка данных из XML ... как?

NOX

Новичок
Выборка данных из XML ... как?

как извлеч из SimpleXMLElement
<xml name="NAME">
text1
<br/>
text2
</xml>
это:
text1
<br/>
text2

т.е. echo $xml->asXML(); только без <xml name="NAME"></xml> тегов.
 

NOX

Новичок
Super :) имееся проштудированные manual по PHP5.14 и zvon.chm

а по конкретнее? xpath'ом в разных комбинациях пробывал,
просьба ткнуть носом в идею реализации или решение.
 

denver

?>Скриптер
Ну и в чём тогда проблема...

Невалидный XML? Тогда зачем его в SimpleXMLElement засовывать.
Зачем всё это нужно, почему именно SimpleXMLElement?
 

NOX

Новичок
на XML парсеры не ругаются, просто внутри <xml> бывают открытые и закрытые теги:<img src=""/>, <br/>

статья хранится между тегами <xml>, правда у меня это <font>
и выводится как $font->asXML() и html получается валидный.
МИНУС: данные и оформление не разделены.
А как быстро достать статью из XML? Документы по 10Мб, нужен лёгкий доступ к атрибутам и тегам + xpath иногда ...
Всё устраивает, кроме этой неприятности. Можно конечно и просто удалить из стринга эти теги, но может есть способ лучше?
 

denver

?>Скриптер
1. А обязательно вам не нужен сам корневой тэг (font)? Просто вывод asXML подразусевает правильный XML, что подразумевает максимум 1 главный тэг.

2. Допустим <root> это вест документ, в нём статья <font>
PHP:
$xml = <<<XML
<root>
...
<font name="NAME">
text1
<br/>
text2
</xml>
...
</font>
XML;

$dom = simplexml_load_string($xml);

dump($dom->font->asXML());
Это выведет <font name="NAME">...</font> и никакие <br/> этому не помеха. Приведите пример из жизни что вам надо, потому что непонятно почему не устраивает главный <font> (назовите его <div> если вам нужен валидный html что-ли)

3. Если документы по 10МБ то ради такой мелочи быстрее будет выкусывать статьи регекспом.
 

NOX

Новичок
Данные и оформление разделить надо, т.е. всё что в тегах <font name="NAME">...</font> - ДАННЫЕ. а сами теги . <font>сейчас приспособлены как оформление (хотя хотелось бы их ликвидировать).
Видимо вы правы средствами xml корневые теги не убрать

THX
 
Сверху