Articles of xmlreader

Используя XMLReader PHP, как мне получить номер строки текущего узла?

Используя XMLReader XML parser в PHP 5.3, мне нужно получить номер строки текущего узла. Номер столбца или общее смещение от начала файла тоже было бы неплохо. Надеюсь, мне не нужно использовать какой-либо взломать как синтаксический анализ каждой строки исходного узла для readOuterXML() строк (с readOuterXML() ), но я не вижу getLineNo() как в DOM …

Чтение дочерних узлов с помощью XMLReader

Я пытаюсь написать гибридную функцию XMLReader / SimpleXML для чтения очень большого (700 МБ) XML-файла. XML находится в таком формате: <Items> <Item> <ItemKey>ABCDEF123</ItemKey> <Name> <English>An Item Name</English> <German>An Item Name In German</German> <French>An Item Name In French</French> </Name> <Description> <English>An Item Description</English> <German>An Item Description In German</German> <French>An Item Description In French</French> </Description> </Item> <Item> […]

XMLReader & simpleXML Combo, с условиями

Я использую комбинацию XMLReader и simpleXML для анализа сообщений в файле экспорта WordPress. Я понимаю, что это немного не соответствует норме, но это больше для резервного проекта, поэтому мы можем легко подтянуть одну из этих статей, если нам это нужно в futre. Сайт WP, на котором они были, должен спуститься. Проблема, с которой я сталкиваюсь, […]

XML Parsing – невозможно получить значение узла

Я пытаюсь определить, почему я не могу получить значение узла в моем XML-файле. Я использую следующий PHP-код для анализа моего XML-файла … <?php error_reporting(E_ALL); ini_set( 'display_errors','1'); libxml_use_internal_errors(true); libxml_clear_errors(); // create the reader object $reader = new XMLReader(); // reader the XML file. $reader->open('test.xml'); // start reading the XML File. while($reader->read()) { // take action based […]

PHP не отвечает при проверке XML с помощью XSD

Мне нужно проверить некоторые xml-файлы с файлами xsd в приложении php. Проблема, с которой я столкнулась, – это когда я использую domdocument или xmlreader, при выполнении проверки схемы я получаю пустую страницу (ERR_EMPTY_RESPONSE). Я не получаю никаких ошибок. $reader = new XMLReader(); $reader->open("../xml/testxml.xml"); echo $reader->setSchema("../xml/validation.xsd") ? 'valid' : 'invalid'; $doc = new DOMDocument(); $doc->load("../xml/testxml.xml"); echo […]

Как разобрать узел XML с тегом двоеточия с помощью PHP

Я пытаюсь получить значение следующих узлов из [этого URL (требуется некоторое время для загрузки)] [1]. Элементы, которые меня интересуют: title, g:price and g:gtin XML начинается следующим образом: <rss xmlns:g="http://base.google.com/ns/1.0" version="2.0"> <channel> <title>PhotoSpecialist.de</title> <link>http://www.photospecialist.de</link> <description/> <item> <g:id>BEN107C</g:id> <title>Benbo Trekker Mk3 + Kugelkopf + Tasche</title> <description> Benbo Trekker Mk3 + Kugelkopf + Tasche Das Benbo Trekker Mk3 […]

XMLReader не может открывать большие (> 2gb) XML-файлы

Я написал приложение, которое анализирует большие XML-файлы в PHP с помощью XMLReader. Как правило, приложение отлично работает, EXCEPT, когда я пытаюсь прочитать файл размером более 2 гб. (Я не понял точно, где находится отсечка, он работает безупречно в файле 500 Мбайт, но не работает в следующем по величине файле, который у меня есть – 2.5gb). […]

Получение XMLReader PHP для того, чтобы не вызывать ошибки php в недопустимых документах

Я нахожусь в написании парсера и стараюсь делать хорошую обработку ошибок с исключениями. Следующий пример кода: <?php $xml = <<<XML <?xml version="1.0"?> <rootElem> XML; $reader = new XMLReader(); $reader->xml($xml, null, LIBXML_NOERROR | LIBXML_NOWARNING); $reader->read(); Выдает: PHP Warning: XMLReader::read(): An Error Occured while reading in /Users/evert/code/xml/errortest.php on line 11 PHP Stack trace: PHP 1. {main}() /Users/evert/code/xml/errortest.php:0 […]

Как читать XML-файл с неопределенным пространством имен с помощью XMLReader?

Я относительно новичок в анализе XML-файлов и пытаюсь прочитать большой XML-файл с XMLReader. <?xml version="1.0" encoding="UTF-8"?> <ShowVehicleRemarketing environment="Production" lang="en-CA" release="8.1-Lite" xsi:schemaLocation="http://www.starstandards.org/STAR /STAR/Rev4.2.4/BODs/Standalone/ShowVehicleRemarketing.xsd"> <ApplicationArea> <Sender> <Component>Component</Component> <Task>Task</Task> <ReferenceId>w5/cron</ReferenceId> <CreatorNameCode>CreatorNameCode</CreatorNameCode> <SenderNameCode>SenderNameCode</SenderNameCode> <SenderURI>http://www.example.com</SenderURI> <Language>en-CA</Language> <ServiceId>ServiceId</ServiceId> </Sender> <CreationDateTime>CreationDateTime</CreationDateTime> <Destination> <DestinationNameCode>example</DestinationNameCode> </Destination> </ApplicationArea> … Я получаю следующую ошибку ErrorException [Warning]: XMLReader :: read () [xmlreader.read]: compress.zlib: // D: /WebDev/example/local/public/../upload/example.xml.gz: 2: […]

Обнаруживать теги самоподключения XML с помощью PHP XMLReader

Я хотел бы проанализировать один XML-документ с помощью XMLReader. У меня есть переключатель случая со всеми Константами. Однако, если тег самозакрывающийся XMLReader запускает только ELEMENT, а не ELEMENT и END_ELEMENT, как ожидалось. Обнаружение через свойство класса $ isEmptyElement также не работает, потому что тег имеет атрибуты. Поэтому мой вопрос: как обнаружить самозакрывающийся тег XML с […]