php4中simplexml_load_string()的替代方法
我在我的文件中使用这个函数simplexml\u load\u string(),它正在基于lucene进行搜索。 但它在php4中不起作用 请给我推荐一个类似于此的函数,这样我就不必对编码做太多更改 这是我的代码示例:-php4中simplexml_load_string()的替代方法,php,xml,simplexml,php4,Php,Xml,Simplexml,Php4,我在我的文件中使用这个函数simplexml\u load\u string(),它正在基于lucene进行搜索。 但它在php4中不起作用 请给我推荐一个类似于此的函数,这样我就不必对编码做太多更改 这是我的代码示例:- function handleResponse($data) { if ($data) { $xml = simplexml_load_string($data); $results
function handleResponse($data)
{
if ($data)
{
$xml = simplexml_load_string($data);
$results = array();
foreach ($xml->result->doc as $story)
{
$xmlarray = array();
try
{
foreach ($story as $item)
{
$name = $item->attributes()->name;
$value = $item;
$xmlarray["$name"] = "$value";
}
}
catch (Exception $e)
{
echo 'Problem handling XML array.';
}
if ($this->debug) echo "checking if ".$xmlarray['score']." > ".$this->min_score;
if ($xmlarray['score'] > $this->min_score) $results[] = $xmlarray;
}
$results['response']=$xml->result->attributes()->numFound;
}
else
{
$results=false;
}
return $results;
}
这里$data包含xml格式的数据,如
<?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">2</int>
<lst name="params">
<str name="explainOther"/>
<str name="fl">*,score</str>
<str name="indent">on</str>
<str name="start">0</str>
<str name="q">reliance</str>
<str name="hl.fl"/>
<str name="qt">dismax</str>
<str name="wt">dismax</str>
<str name="version">2.2</str>
<str name="rows">10</str>
</lst>
</lst>
<result name="response" numFound="5" start="0" maxScore="1.7840868">
<doc>
<float name="score">1.7840868</float>
<str name="scheme_name">Reliance Diversified Power Sector Fund - Growth</str>
<str name="scheme_nav">75.23</str>
</doc>
<doc>
<float name="score">1.7840868</float>
<str name="scheme_name">Reliance Diversified Power Sector Fund - Growth</str>
<str name="scheme_nav">75.23</str>
</doc>
</result>
</response>
0
2.
*,得分
在…上
0
依赖
沮丧
沮丧
2.2
10
1.7840868
信实多元化电力部门基金-增长
75.23
1.7840868
信实多元化电力部门基金-增长
75.23
请推荐一些类似于PHP4中的
simplexml\u load\u string()
的函数,这样就可以避免更改编码。PHP4不支持异常。尝试删除Try…catch
块。编辑:另外(请注意下面的注释),SimpleXML扩展仅为PHP5。在PHP4中,您应该使用扩展,但这也意味着您将不得不大量更改代码。一个简单的链接提供了如何使用此扩展的链接。PHP4不支持异常。尝试删除
Try…catch
块。编辑:另外(请注意下面的注释),SimpleXML扩展仅为PHP5。在PHP4中,您应该使用扩展,但这也意味着您将不得不大量更改代码。一个简单的链接提供了关于如何使用此扩展的链接。当人们告诉我更新我的环境而不是仅仅回答我的问题时,我自己也很讨厌,但是没有办法切换到PHP5吗?PHP4现在已经非常非常过时了,在我看来,它已经不适合新项目了。PHP5带来了原生XML支持,而PHP4解决方案都非常慢 我自己也讨厌别人告诉我更新我的环境而不是仅仅回答我的问题,但是没有办法切换到PHP5吗?PHP4现在已经非常非常过时了,在我看来,它已经不适合新项目了。PHP5带来了原生XML支持,而PHP4解决方案都非常慢 我自己还没有使用过这个类,但是phpClasses.org为PHP4提供了一个simpleXML实现,看起来很不错:
我自己没有使用过这个类,但是phpClasses.org为PHP4提供了一个simpleXML实现,看起来很不错:
我认为他指的是PHP4中不固有的simplexml函数。删除此函数对我没有帮助,因为此函数不起作用:-(我认为他指的是PHP4中不固有的simplexml函数。删除此函数对我没有帮助,因为此函数不起作用:-(我同意,我们将迁移到新的版本,但这需要一些时间,我的这项工作现在只需要现场进行。这就是为什么我要问这个问题。我无法想象这会浪费多少钱。运行PHP4而不是PHP5.3会浪费大量服务器资源,加上转换完全有效的服务器所花费的时间为非常旧版本的PHP编写代码,并修复您将遇到的错误,因为您的PHP4解决方案无法实现SimpleXML的迭代器,以及由于PHP4的按值范式而不时出现的神秘错误。我希望您按小时计费。我同意,我们将迁移到新版本,但这需要花费大量时间我的一些时间和这项工作现在只需要上线。这就是为什么我问这个问题。我无法想象这会浪费多少钱。运行PHP4而不是PHP5.3会浪费大量的服务器资源,再加上将完全有效的代码转换为非常非常旧的PHP版本所花费的时间,再加上修复错误您将遇到这样的问题,因为您的PHP4解决方案无法实现SimpleXML的迭代器,并且由于PHP4的按值范式,会不时出现神秘的bug。我希望您能按时计费。