Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中xml的搜索过滤器_Php_Xml - Fatal编程技术网

php中xml的搜索过滤器

php中xml的搜索过滤器,php,xml,Php,Xml,我从XML中过滤了整个标题 if(isset($_POST["submit"])) { $state=$_POST["state"]; $title=$_POST["title"]; $result = simplexml_load_file('sample.xml'); $record = $result-> xpath('(/jobs/job[positiontitle="'.$title.'"])

我从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;
?>
if(设置($\u POST[“提交”]))
{
$state=$_POST[“state”];
$title=$_POST[“title”];
$result=simplexml_load_文件('sample.xml');
$record=$result->xpath(“(/jobs/job[positiontitle=“”.$title.“]))|(/jobs/job[state=“”.$state.“]));
foreach($记录为$行):
$jobid=$row->jobid;
?>

  • 如果我键入标题“maintenance”,标题应该被过滤。在sql中,我们可以使用like操作进行过滤。这里应该做什么?

    我认为如果您在xpath表达式中使用来去除前导和尾随空格,这会有所帮助

    您可以更改此行:

    $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 . '"]');
    
    关于这一行:

    $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 . '"]');