簡體   English   中英

從php中的xml搜索過濾器

[英]search filter from xml in php

我從XML過濾了整個標題。

if(isset($_POST["submit"]))
        {

        $state=$_POST["state"];

        $title=$_POST["title"];


        $result = simplexml_load_file('sample.xml');
        $record = $result-> xpath('(/jobs/job[positiontitle="'.$title.'"])|(/jobs/job[state="'.$state.'"])');

         foreach ($record as $row):
$jobid=$row->jobid;

?>
        <li class="result"> 
        <a href="<?php print base_path(); ?>job/?<?php print $jobid;?>">
        <h3 class="title"><?php $title=$row->positiontitle; 
        echo $title; ?></h3>  
        </li>
 <?php 

         endforeach;
?>

這是我的xml

<jobs>
<job>
<jobid>
<![CDATA[ 02304485 ]]>
</jobid>
<positiontitle>
<![CDATA[ Maintenance Manager ]]>
</positiontitle>
</job>
</jobs>

如果輸入標題“ maintenance”,則應該過濾標題。在sql中,我們可以使用類似操作進行過濾。 在這里應該怎么辦?

我認為如果在xpath表達式中使用normalize-space去除開頭和結尾的空白會有所幫助。

您可以更改以下行:

$record = $result-> xpath('(/jobs/job[positiontitle="'.$title.'"])|(/jobs/job[state="'.$state.'"])');

到這行:

$record = $result->xpath('/jobs/job[normalize-space(positiontitle)="' . $title . '"]|/jobs/job[normalize-space(jobid)="' . $state . '"]');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM