Я успешно написал сайт, который анализирует файл PHP и занимается открытием/закрытием тегов, путем его обмена с HTML.PHP XML Parsing Question
Дело в том, что я знаю, как разбирать весь файл. Что делать, если я хотел только разобрать часть файла?
Я уже знаю, как прокручивать теги XML, чтобы найти раздел, который я хочу, но я не знаю, как это сделать в анализируемом коде, который у меня уже есть.
Это код парсинга я использую сейчас:
$p = xml_parser_create();
//Set the handling functions
xml_set_element_handler ($p, 'handle_open_element', 'handle_close_element');
xml_set_character_data_handler ($p, 'handle_character_data');
// read the file:
$file = 'books3.xml';
$fp = @fopen ($file, 'r') or die ("Could not open a file called '$file' .\n</body>\n</html>");
while ($data = fread ($fp, filesize($file))) {
xml_parse ($p, $data, feof($fp));
}
//free up parser
xml_parser_free($p);
Books3.xml является файлом. Есть функции выше, которые касаются открывающих и закрывающих тегов. Как я могу отредактировать это, так что я посылаю только часть books3.xml для функций.
Любые идеи?
Спасибо за вашу помощь
спасибо за ваш ответ ... на самом деле я использовал XML Parser, потому что это было просто ... мне нужно было прочитать структуру вложенных тегов ... например и и выплевывать html на основе тега сам .... мой предыдущий опыт работы с simpleXML заключался в том, что он кормил меня только данными, а не самими тегами. Есть ли способ использовать simpleXML для прокрутки тегов, пока я не получу то, что хочу, а затем просто проанализирую этот раздел? –
Craig
Привет Крейг, вы можете использовать XPath для доступа к любому узлу или набору узлов в XML-файле. Xpath - это очень полезный язык запросов для XML. Вы можете использовать выражения Xpath в SimpleXML, как описано здесь: http://php.net/manual/en/simplexmlelement.xpath.php Учебники для XPath сами вы найдете несколько в Интернете. – Marko