PHP и манипулирование файлами - PullRequest
0 голосов
/ 28 октября 2009

Мне было интересно, можно ли открыть XML-файл в виде простого текстового файла, чтобы я мог читать в каждой строке и манипулировать текстом?

Ответы [ 3 ]

3 голосов
/ 28 октября 2009
$xml_file = '/var/www/file.xml';
$contents = file_get_contents($xml_file); // Dumps the entire file into a single string
$contents = file($xml_file); // Dumps each line into an array

Однако я бы порекомендовал использовать simplexml_load_file() (даже если вы сказали, что хотите этого избежать), потому что нет никакой гарантии относительно того, как будет отформатирован XML. Все это может быть в одной строке или отформатировано с помощью разрывов строк в неожиданных местах.

1 голос
/ 28 октября 2009

Почему бы не использовать синтаксический анализатор / манипулятор XML напрямую?

Вы можете найти эти ссылки на http://www.php.net/manual/en/refs.xml.php

Если у вас есть красиво отформатированный XML-файл,

$file = 'file.xml';

// get contents and normalize the newline
$xml_arr = file($file);
foreach($xml_arr as &$line){
  // do your manipulation to $line
}

$ctns = implode("\n",$xml_arr);
file_put_contents($file,$ctns); // write back
0 голосов
/ 28 октября 2009

Для чтения файла как массива строк используйте file, функцию:

$lines = file('your_xml_file.xml');
foreach($lines as $line) { 
    ## do the stuff for each line
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...