XMLReader
- Introduction
- Installing/Configuring
- XMLReader — The XMLReader class
- XMLReader::close — Close the XMLReader input
- XMLReader::expand — Returns a copy of the current node as a DOM object
- XMLReader::getAttribute — Get the value of a named attribute
- XMLReader::getAttributeNo — Get the value of an attribute by index
- XMLReader::getAttributeNs — Get the value of an attribute by localname and URI
- XMLReader::getParserProperty — Indicates if specified property has been set
- XMLReader::isValid — Indicates if the parsed document is valid
- XMLReader::lookupNamespace — Lookup namespace for a prefix
- XMLReader::moveToAttribute — Move cursor to a named attribute
- XMLReader::moveToAttributeNo — Move cursor to an attribute by index
- XMLReader::moveToAttributeNs — Move cursor to a named attribute
- XMLReader::moveToElement — Position cursor on the parent Element of current Attribute
- XMLReader::moveToFirstAttribute — Position cursor on the first Attribute
- XMLReader::moveToNextAttribute — Position cursor on the next Attribute
- XMLReader::next — Move cursor to next node skipping all subtrees
- XMLReader::open — Set the URI containing the XML to parse
- XMLReader::read — Move to next node in document
- XMLReader::readInnerXML — Retrieve XML from current node
- XMLReader::readOuterXML — Retrieve XML from current node, including it self
- XMLReader::readString — Reads the contents of the current node as a string
- XMLReader::setParserProperty — Set parser options
- XMLReader::setRelaxNGSchema — Set the filename or URI for a RelaxNG Schema
- XMLReader::setRelaxNGSchemaSource — Set the data containing a RelaxNG Schema
- XMLReader::setSchema — Validate document against XSD
- XMLReader::XML — Set the data containing the XML to parse
Коментарии
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;
}
}