hello im сталкивается с несколькими проблемами при загрузке большого файла kml, из которого я первоначально использовал холодный синтез, но он просто не справился с большими файлами xml / kml
поэтому я думал, что я даю ему bash, используя php, я довольно новичок в php и coldfusion
поэтому вы можете получить файл kmz, который работает с http://marinetraffic2.aegean.gr/ais/getkml.aspx, вам придется переименовать его в .zip, а затем развернуть его, там должен быть kml-файл, называемый doc. kml измените его на xml, и там вы идете, есть Bom в начале его, я обошел это на cfhttp и type = ut-8, затем удалив первые 3 символа
теперь у меня возникают проблемы с загрузкой xpaths или любых запросов на нее
я хотел бы поместить это в массив, с которым нужно работать до того, как я поместил его в базу данных там colums, которые мне нужны, – это координаты имени styleurl и описания
мне удалось получить это, но работать
$dom = new DomDocument(); $dom->load("http://localhost/testdocs/bigdoc.xml"); $titles = $dom->getElementsByTagName("coordinates"); foreach($titles as $node) { print $node->textContent . "<br> "; }
это вернет список имен в XML-файле
но это все, что мне нужно, будет kml / Document / Folder / Placemark / (name yada yada)
может кто-то со свежей парой глаз
бит в холодном слиянии просто вешал там целую вечность, но когда я пытался на том же гораздо меньшем файле, он работал
поэтому я новичок в php, но этот маленький код работает на большом файле, в отличие от холодного синтеза
Основная проблема заключается в том, что запросы xpaths просто не работают через папку /
я надеюсь, что вы можете понять мои промахи
спасибо за помощь в продвинутых JC
DomDocument () очень дорог с точки зрения ресурсов. Я использую XMLReader () для синтаксического анализа очень больших файлов XML (> 600 МБ) без проблем.
Взгляните на документацию: http://php.net/manual/en/book.xmlreader.php