У меня довольно большой XML-файл.Я анализирую его с помощью XML Parser с использованием Php.С парсингом XML все в порядке, я могу читать данные.Тем не менее, я понятия не имею, изменение содержимого одного тега.Должен ли я прочитать все данные в строку и переписать файл с измененным?Есть ли другие решения?Я не хочу использовать simplexml из-за размера файла.
Например, я хотел бы сменить Джека на имя другого пользователя.
Джек
Спасибо ..
Пока:
$file = "5.xml";
function startElement($parser, $name, $attrs)
{
//do something
}
function contents($parser, $data){
//do something
}
function endElement($parser, $name)
{
//do something
}
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "contents");
if (!($fp = fopen($file, "r"))) {
die("could not open XML input");
}
while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}
xml_parser_free($xml_parser);