2011-12-01 101 views
0

我想确定函数domxml_open_mem和xpath_new_context是否在版本PHP V4.3.0下可用。我在Windows 7下使用IIS7。解析XML PHP 4.3.0+

我正在阅读文档http://www.php.net/manual/en/function.domxml-open-mem.php 它看起来像那些功能可用这些版本。

我试过在4.1.2到4.3.0的多个PHP版本下进行测试,结果是那些函数不可用。

if (function_exists('domxml_open_mem')) { 
    echo "Function is available.<br />\n"; 
} else { 
    echo " Function is not available.<br />\n"; 
} 

任何想法? 我的目标是从字符串解析如下

$xml_String="<xml><Fields><Header>aa</Header><Header>bb</Header></Fields></xml>"; 

从XML值并显示回

//代码必须兼容从4.3.0到最新版本。

$xpresult = xpath_eval($xml_String, "/xml/Fields/Header"); 
foreach ($xpresult->nodeset as $node) 
{ 
    $newxml .= $node->dump_node($node); 
} 
+2

何必呢?现在,PHP 4.x的所有版本都不受支持,其中大多数版本也存在严重的已知安全漏洞。 – duskwuff

+1

Windows 7于2009年末**发布**,PHP 5.0.0于** 2004 **中发布。你的“服务器”如何使用PHP 4.3(最后一个版本是2005年初发布的)? –

回答

1

我想这并没有被编译到您的PHP版本:

在PHP 4本PECL扩展源可以在ext/目录下的PHP源内或PECL链接找到以上。 此扩展仅在PHP配置为--with-dom[=DIR]时可用。添加--with-dom-xslt[=DIR]以包含DOM XSLT支持。 DIR是libxslt安装目录。添加--with-dom-exslt[=DIR]以包含DOM EXSLT支持,其中DIR是libexslt安装目录。

http://www.php.net/manual/en/domxml.installation.php

+0

我下载这个下发布的链接http://php.net/releases/index.php –

+0

我想我必须使这个以某种方式 –

+0

@詹姆斯这几乎意味着你必须重新编译PHP。在这一点上,你可以升级到5.3 ... :) – deceze