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