|
|
|
Ошибка в XML
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, помогите решить проблему. Есть на сервере php скрипт который обходит все файлы в определенной директории и в результате строит дерево файлов с полными их путями относительно корня той директории. Далее формирует XML и записывает все данные туда. Вот пример XML: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Но так как файлов очень много, примерно 17 000, соответственно и элементов file в XML очень много. Этот скрипт выполняется по крону,каждые мин 30. На другом сервере есть программа написанная на Java, которая запускается в планировщике задач. Она по http загружает ту XML, но при парсинге ее периодически возникает ошибка: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. В чем может быть проблема? Заранее большое спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2015, 07:16 |
|
||
|
Ошибка в XML
|
|||
|---|---|---|---|
|
#18+
VaneS Ri_lax, Ну наверное в размере файла :-) По идее через DOM нельзя парсить xml больше 2Гб. Попробуйте использовать SAX-парсер. Он потоковый и не налагает особых ограничений на xml-файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2015, 08:01 |
|
||
|
Ошибка в XML
|
|||
|---|---|---|---|
|
#18+
http://80.132.65.28/damp/dataxml.xml: XML document structures must start and end within the same entity. at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:228) Либо недокачанный xml(неправильно скачанный) либо у файла xml неправильная структура или в данных есть не затенённые символы типа & < > и т.д ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2015, 08:53 |
|
||
|
Ошибка в XML
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, Так файл весит 3мб всего) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2015, 09:31 |
|
||
|
Ошибка в XML
|
|||
|---|---|---|---|
|
#18+
Я бы посмотрел на строку "Error on line 62872 of document" может там какие-то символы в имени файла которые нарушают структуру xml. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2015, 10:26 |
|
||
|
Ошибка в XML
|
|||
|---|---|---|---|
|
#18+
morewindЯ бы посмотрел на строку "Error on line 62872 of document" может там какие-то символы в имени файла которые нарушают структуру xml. В смысле PHP не через DOM создает xml-фйал, а как просто текстовый. Соответственно в строки не экранируются? Вполне возможно. От PHPников можно ждать все что угодно. Вплоть до "гашения" исключения и записи стектрейса в xml-файл. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2015, 14:00 |
|
||
|
Ошибка в XML
|
|||
|---|---|---|---|
|
#18+
mad_nazgulmorewindЯ бы посмотрел на строку "Error on line 62872 of document" может там какие-то символы в имени файла которые нарушают структуру xml. В смысле PHP не через DOM создает xml-фйал, а как просто текстовый. Соответственно в строки не экранируются? Вполне возможно. От PHPников можно ждать все что угодно. Вплоть до "гашения" исключения и записи стектрейса в xml-файл. :-) На то что файл генерируется как просто текстовый указывает строка в начале файла <scan time="1432093201"></scan> в котором значение time записано в кавычках, в тоже время в значении ссылки на файл написано <time>1408595853</time> без кавычек. Думаю, что если бы использовался DOM то он бы записывал значения единообразно (или все в кавычках или все без кавычек). Ну и парсер не даром ругается на конкретную строку - там или неожиданный для него конец файла или нарушение структуры xml. Думаю, что автор глянув на эту строчку и сам догадается в источнике проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2015, 14:33 |
|
||
|
Ошибка в XML
|
|||
|---|---|---|---|
|
#18+
VaneS Ri_lax, ставлю на недокачанный xml, либо xml с ошибкой готовьте доказательную базу для разработчиков php :) прежде чем парсить, сохраните xml в локальный файл, и при возникновении ошибки посмотрите на содержимое этого файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2015, 15:00 |
|
||
|
Ошибка в XML
|
|||
|---|---|---|---|
|
#18+
Меня смущает то что ошибка возникает в случайное время, т.е. n-раз программа может отработать нормально, а потом на какой то раз выведет вот такую ошибку. За все это время содержание xml не меняется, просто файлы пересканируются и файл xml перезаписывается. Отсюда можно сделать вывод что файл то записывается правильно, то нет. По этому я и думаю что дело в нехватке памяти у PHP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2015, 08:06 |
|
||
|
Ошибка в XML
|
|||
|---|---|---|---|
|
#18+
morewindНа то что файл генерируется как просто текстовый указывает строка в начале файла <scan time="1432093201"></scan> в котором значение time записано в кавычках, в тоже время в значении ссылки на файл написано <time>1408595853</time> в первом случае атрибут, во втором элемент :) о рукотворчестве скорее говорит глубокомысленный комментарий Код: xml 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2015, 09:09 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38964826&tid=2125391]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 340ms |

| 0 / 0 |
