XMLReader
- Введение
- Установка и настройка
- XMLReader — Класс XMLReader
- XMLReader::close — Закрыть ввод XMLReader
- XMLReader::expand — Возвратить копию текущего узла в виде объекта DOM
- XMLReader::getAttribute — Получить значение атрибута с определённым именем
- XMLReader::getAttributeNo — Получить значение атрибута по индексу
- XMLReader::getAttributeNs — Получить значение атрибута по localname и URI
- XMLReader::getParserProperty — Указывает, было ли определенное свойство установлено
- XMLReader::isValid — Показать, является ли разбираемый документ синтаксически правильным
- XMLReader::lookupNamespace — Найти пространство имён для префикса
- XMLReader::moveToAttribute — Переместить курсор к атрибуту с заданным именем
- XMLReader::moveToAttributeNo — Переместить курсор на атрибут по индексу
- XMLReader::moveToAttributeNs — Переместить курсор к именованному атрибуту
- XMLReader::moveToElement — Позиционировать курсор на родительском элементе текущего атрибута
- XMLReader::moveToFirstAttribute — Переместить позицию курсора на первый атрибут
- XMLReader::moveToNextAttribute — Переместить позицию курсора на следующий атрибут
- XMLReader::next — Переместить курсор на следующий узел, пропуская все поддеревья
- XMLReader::open — Установить URI, содержащий XML-документ для разобора
- XMLReader::read — Переместиться к следующему узлу в документе
- XMLReader::readInnerXML — Извлечь XML из текущего узла
- XMLReader::readOuterXML — Получить XML из текущего узла, включая сам узел
- XMLReader::readString — Прочитать содержимое текущего узла как строку
- XMLReader::setParserProperty — Устанавливает опцию парсера
- XMLReader::setRelaxNGSchema — Устанавить имя файла или URI для схемы RelaxNG
- XMLReader::setRelaxNGSchemaSource — Устанавливает данные, содержащие схему RelaxNG
- XMLReader::setSchema — Проверить документ, используя XSD
- XMLReader::XML — Установить данные, содержащие XML для разбора
Коментарии
Allright, I'll do it myself:
$xmlreader = XMLReader::open('xml_file.xml');
$indent = 0;
while ($xmlreader->read() !== FALSE)
{
switch ($xmlreader->nodeType)
{
case XMLReader::ELEMENT:
echo str_repeat("\t", ($xmlreader->isEmptyElement ? $indent : $indent++)), '[element]: ', $xmlreader->name, "\n";
break;
case XMLReader::TEXT:
echo str_repeat("\t", $indent), $xmlreader->value, "\n";
break;
case XMLReader::END_ELEMENT:
echo str_repeat("\t", --$indent), '[end element]: ', $xmlreader->name, "\n";
break;
}
}