Мне было интересно, можно ли открыть xml-файл в виде обычного текстового файла, чтобы я мог читать в каждой строке и манипулировать текстом?PHP и манипулирование файлами
ответ
$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. Все это может быть на одной строке или отформатировано с разрывами строк в неожиданных местах.
Я хотел бы использовать simplexml_load_file(), но я не могу понять, как это использовать. Моя самая большая проблема - извлечение данных из одного узла. Я никогда не могу сказать, когда объект представляет собой массив объектов, или если его объект или значение в объекте, поэтому я думаю, что я буду придерживаться вашего примера выше прямо сейчас и разветвиться немного позже. Спасибо за вашу помощь. – cskwrd
is_array(), is_object(), is_string() –
Почему бы не использовать любой из парсера/манипулятора 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
Зачем разбивать контекст файла на '\ r \ n', если вы можете считать файл как линейный массив функцией' file'? –
@ Иван - мой плохой. используется для file_get_contents. – mauris
Для чтения файла в массив строк с помощью file
функции:
$lines = file('your_xml_file.xml');
foreach($lines as $line) {
## do the stuff for each line
}
- 1. Манипулирование файлами srt в php
- 2. манипулирование файлами
- 3. Манипулирование файлами .sql
- 4. Манипулирование json-файлами python
- 5. Манипулирование файлами блокирует их
- 6. Манипулирование файлами Python 2.7
- 7. Манипулирование HTML-файлами
- 8. Перемещение и манипулирование файлами по каталогам - Powershell
- 9. Манипулирование файлами csv с Python
- 10. Манипулирование гигантскими файлами дампа MySQL
- 11. Манипулирование MIDI-файлами в Python
- 12. Манипулирование PDF-файлами и использованием полей формы Adobe
- 13. Python in Enthought Canopy: манипулирование csv-файлами
- 14. Манипулирование QT Ui с различными исходными файлами
- 15. Манипулирование несколькими файлами сразу в R
- 16. Манипулирование файлами .htm в Excel vba
- 17. PHP DOMDocument - манипулирование и кодирование
- 18. Манипулирование файлами через терминал mac в java
- 19. Манипулирование огромными CSV-файлами с помощью sed
- 20. Манипулирование файлами: как вынуть знаки пунктуации и прописные буквы?
- 21. Как сделать Создание и манипулирование файлами в функциональном стиле?
- 22. PHP - медленное манипулирование строками
- 23. Манипулирование массивами объектов PHP
- 24. Манипулирование массивами в php
- 25. Манипулирование XML с PHP
- 26. Манипулирование строк в PHP
- 27. Манипулирование DOM в PHP
- 28. Загрузка и манипулирование загрузкой PHP OOP
- 29. Манипулирование объект с помощью CURL и PHP
- 30. PHP/Jquery Создание и Манипулирование Таблицы
Почему вы хотите это сделать? вы просите о неприятностях. все многословие xml без каких-либо семантических преимуществ. –
Я согласен с другими, что вы должны использовать XML-парсер или DOMDocument, но в случае, если вы хотите знать, что ответ «да». XML - это просто текстовый файл. Вы можете прочитать его с помощью 'file',' file_get_contents', 'fread' или того, что вы когда-либо читали в текстовом файле. – NawaMan