Php 从XML数据中的结果中排除多个值

Php 从XML数据中的结果中排除多个值,php,xml,feed,Php,Xml,Feed,我有一个从中检索数据的XML提要 目前,我编写了查找ID的代码,然后跳过它并显示所有其他结果 XML代码如下所示 <Agents> <Agent> <id></id> <description></description> <name></name> </Agent> </Agents> 下面是当前的PHP代码 &l

我有一个从中检索数据的XML提要

目前,我编写了查找ID的代码,然后跳过它并显示所有其他结果

XML代码如下所示

 <Agents>
   <Agent>
      <id></id>
      <description></description>
      <name></name>
   </Agent>
 </Agents>

下面是当前的PHP代码

  <?php
     $html = "";
     $url = "xml feed";
     $xml = simplexml_load_file($url);
     $idToFind = 1922;
     for ($i = 0; $i < 300; $i++) {
         $id = $xml->Agent[$i]->id;
         if ($id == $idToFind)
             continue;
           {

         $id = $xml->Agent[$i]->id;
         $name = $xml->Agent[$i]->name;

         $html .= "<h2>$name</h2><h3>$id</h3>";}

     echo $html;


所以现在它找到ID 1922并将其排除,但我想排除多个ID,即1922、1845、2110等。

一个带有要排除的ID的数组如何?
然后在每次迭代中检查id是否为“inArray”

<?php
     $html = "";
     $url = "xml feed";
     $xml = simplexml_load_file($url);
     $idsToFind = array(1922, 1845, 1234, 8347 ... ...);
     for ($i = 0; $i < 300; $i++) {
         $id = $xml->Agent[$i]->id;
         if (in_array($id, $idsToFind))
             continue;
           {

         $id = $xml->Agent[$i]->id;
         $name = $xml->Agent[$i]->name;

         $html .= "<h2>$name</h2><h3>$id</h3>";}

     echo $html;
?>

一个要排除id的数组怎么样?
然后在每次迭代中检查id是否为“inArray”

<?php
     $html = "";
     $url = "xml feed";
     $xml = simplexml_load_file($url);
     $idsToFind = array(1922, 1845, 1234, 8347 ... ...);
     for ($i = 0; $i < 300; $i++) {
         $id = $xml->Agent[$i]->id;
         if (in_array($id, $idsToFind))
             continue;
           {

         $id = $xml->Agent[$i]->id;
         $name = $xml->Agent[$i]->name;

         $html .= "<h2>$name</h2><h3>$id</h3>";}

     echo $html;
?>

另一种方法是使用xpath查询修改xml结果

$str = "<Agents>
   <Agent>
      <id>1</id>
      <description>a</description>
      <name>a</name>
   </Agent>
   <Agent>
      <id>2</id>
      <description>b</description>
      <name>b</name>
   </Agent>
   <Agent>
      <id>3</id>
      <description>c</description>
      <name>c</name>
   </Agent>
   <Agent>
      <id>4</id>
      <description>d</description>
      <name>d</name>
   </Agent>
 </Agents>";

$xml = simplexml_load_string($str);
$result = $xml->xpath('//Agent[not(id = 1 or id = 3)]');
echo "<pre>"; 
print_r($result);
$str=”
1.
A.
A.
2.
B
B
3.
C
C
4.
D
D
";
$xml=simplexml\u load\u字符串($str);
$result=$xml->xpath('//Agent[not(id=1或id=3)]);
回声“;
打印(结果);

另一种方法是使用xpath查询修改xml结果

$str = "<Agents>
   <Agent>
      <id>1</id>
      <description>a</description>
      <name>a</name>
   </Agent>
   <Agent>
      <id>2</id>
      <description>b</description>
      <name>b</name>
   </Agent>
   <Agent>
      <id>3</id>
      <description>c</description>
      <name>c</name>
   </Agent>
   <Agent>
      <id>4</id>
      <description>d</description>
      <name>d</name>
   </Agent>
 </Agents>";

$xml = simplexml_load_string($str);
$result = $xml->xpath('//Agent[not(id = 1 or id = 3)]');
echo "<pre>"; 
print_r($result);
$str=”
1.
A.
A.
2.
B
B
3.
C
C
4.
D
D
";
$xml=simplexml\u load\u字符串($str);
$result=$xml->xpath('//Agent[not(id=1或id=3)]);
回声“;
打印(结果);