相关疑难解决方法(0)

PHP中最快的XML解析器是什么?

对于某个项目,我需要一些方法来解析XML并从中获取数据.所以我想知道,哪一个内置解析器最快?

此外,解析器可以接受XML字符串作为输入将是很好的 - 我有自己的线程安全的文件实现,我不希望一些讨厌的非线程安全库使我的努力无用.

php xml performance

20
推荐指数
2
解决办法
2万
查看次数

XML解析 - PHP编码

我有一个大的XML(> 15Mb),我必须阅读它,解析它,并在数据库中存储一些值.我的问题是,XML以不同的格式(UTF-8,ISO-8859-1)出现.

用UTF-8没问题.但是ISO-8859-1给了我很大的问题!标签带有特殊的字符,XMLReader和readOuterXML()无法正确解析

尝试过,但没有运气

$xml = new XMLReader;
$xml->open($import_file,'ISO-8859-1');  
Run Code Online (Sandbox Code Playgroud)

试过:

  • 函数utf8_encode
  • mb_convert_encoding($ stringXML,'UTF-8');
  • iconv("ISO-8859-1","UTF-8 // TRANSLIT",$ stringXML);

XML(简化)

  • tag(id) - >没问题
  • tag(baños) - >问题

XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<data>
    <id><![CDATA[5531]]></id>
    <baños><![CDATA[0]]></baños>
</data>
Run Code Online (Sandbox Code Playgroud)

他们都没有帮助我.

html php xml encoding utf-8

5
推荐指数
1
解决办法
2269
查看次数

如何在 PHP 中启用 XMLReader 而无需重新配置 PHP?

我的 PHP 信息是这样的:

Configure Command : '--with-libxml-dir=/usr' 
                    '--enable-xml' 
                    '--disable-xmlreader' 
                    '--disable-xmlwriter' 
Run Code Online (Sandbox Code Playgroud)

即我的xmlwriter&xmlreader在安装过程中尚未启用。


                               libxml 
Run Code Online (Sandbox Code Playgroud)

libXML 支持活动

libXML 编译版本 2.7.8

libXML 加载版本 20708

启用 libXML 流

来自php.net XMLReader 手册

运行时配置

此扩展没有在php.ini中定义的配置指令。

如何启用 XMLReader?/ 我是否必须使用 --enable-xmlreader 再次编译 PHP?

php xmlwriter xmlreader

1
推荐指数
1
解决办法
3万
查看次数

标签 统计

php ×3

xml ×2

encoding ×1

html ×1

performance ×1

utf-8 ×1

xmlreader ×1

xmlwriter ×1