|
|
|
|
Warning: DOMDocument::load(): xmlParseEntityRef: no name
|
Засыпана вся страница. Пользовался другими стандартными библиотеками - все равно результат один и тот же.
Гугл в основном говорит чистить XML-файл перед загрузкой. Но памяти и времени может не хватить на чтение всего файла, заменить все, что надо. и построить объект xml.
2ой день мучаюсь. спасибо заранее. | |
|
|
|
|
|
|
|
для: а-я
(20.06.2012 в 16:59)
| | Можно при помощи регулярных выражений, вам вся информация нужна или какая-то часть? Прикрепите кусочек. | |
|
|
|
|
|
|
|
для: cheops
(20.06.2012 в 17:38)
| |
<?xml version="1.0" encoding="utf-8" ?>
<entries validOn="2012-06-13T12:00">
<entry>
<id>01056190</id>
<name>OMRON Стаканчик для небулайзеров</name>
<tradeName>OMRON Стаканчик & для небулайзеров</tradeName>
<type>шт.</type>
<intCode></intCode>
<producer></producer>
<country></country>
<price>610.0</price>
<amount>2.0</amount>
</entry>
</entries>
|
Пытаюсь прочитать:
<?php
$xml = simplexml_load_file($url);
?>
|
Наличие в тексте & (амперсанда) выкидывает предупреждения. Гуглил говорят или & иди в
<CDATA делать текст.
Мне говорили, что стандартные библиотеки умеют работать с XML экономя память, читая не весь файл. Поэтому не пишу велосипед, который будет загружать весь файл в память, заменять (парсить) и на выход давать ассоц. массив. | |
|
|
|
|
|
|
|
для: а-я
(21.06.2012 в 07:18)
| |
Warning: DOMDocument::load(): xmlParseEntityRef: no name
|
после этого разве дальше не читает? как при этом парсит данные? приведите код xml - print_r(). У меня были задачи где файлы по десятку мегов парсились с варнингами, но проблем небыло. | |
|
|
|
|
|
|
|
для: а-я
(21.06.2012 в 07:18)
| | Файл насколько велик? Нельзя его сначала загрузить, преобразовать свободно-расположенные & в &, а потом разобрать? | |
|
|
|
|
|
|
|
для: cheops
(24.06.2012 в 07:16)
| | В данный момент файл 5 Мб, но таких файлов будет много. И загружать данные просят очень часто. Поэтому ищу шустрый вариант.
Как раз пока оставил вариант:
file_get_contents();
str_replace();
simplexml_load_string();
|
| |
|
|
|