我想知道是否可以打开一个纯文本文件的XML文件,所以我可以阅读每一行和操纵文本?PHP和文件操作
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 2009-10-28 00:30:19
is_array(),is_object(),is_string() – 2009-10-28 01:34:39
为什么不直接使用任何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
如果可以通过'file'函数将文件作为线阵列读取,为什么要用'\ r \ n'分割文件上下文? – 2009-10-27 23:00:44
@伊万 - 我的不好。用于file_get_contents。 – mauris 2009-10-27 23:02:18
读取文件作为字符串数组使用file
功能:
$lines = file('your_xml_file.xml');
foreach($lines as $line) {
## do the stuff for each line
}
- 1. PHP文件操作
- 2. 基本PHP文件操作
- 3. 文件修改和操作
- 4. 文件夹和文件操作
- 5. 操作文件
- 6. 文件操作
- 7. 文件操作
- 8. 操纵用PHP的XML文件和DOM
- 9. PHP文件包含和它的操控
- 10. 卷曲操作和PHP
- 11. 跨操作系统的PHP和文件属性
- 12. 文件操作库
- 13. Android文件操作
- 14. C++文件操作
- 15. EXT3文件操作
- 16. 操作文件 - bash
- 17. Mp3文件操作
- 18. 操作MFCC文件
- 19. XML文件解释和操作
- 20. 分叉,管道和文件操作
- 21. iTextSharp文件操作和显示到FileStreamResults
- 22. C++中的类和文件操作
- 23. 使用malloc和POSIX文件操作
- 24. 二进制文件和操作系统
- 25. VB.NET迭代和文件夹操作
- 26. 从读和操作.csv文件
- 27. c字符串和文件操作
- 28. PHP无法执行文件操作文件(fopen,fwrite,fclose)
- 29. Linux文本文件操作
- 30. Php Zip操作
为什么你想这样做吗?你正在寻求麻烦。所有冗长的xml都没有语义上的好处。 – 2009-10-27 22:59:21
我同意其他人的观点,你应该使用XML解析器或DOMDocument,但如果你想知道答案是'是'。 XML只是一个文本文件。你可以用'file','file_get_contents','fread'或者你曾经用来读取文本文件的方式读取它。 – NawaMan 2009-10-27 23:11:57