PHP:需要有关简单 XML 的帮助!

发布于 2024-08-28 22:45:16 字数 1134 浏览 8 评论 0原文

我是 PHP 初学者。我正在尝试解析这个 xml 文件。

<relationship>
 <target>
  <following type="boolean">true</following>
  <followed_by type="boolean">true</followed_by>
  <screen_name>xxxx</screen_name>
  <id type="integer">xxxx</id>
 </target>
 <source>
  <notifications_enabled nil="true"/>
  <following type="boolean">true</following>
  <blocking nil="true"/>
  <followed_by type="boolean">true</followed_by>
  <screen_name>xxxx</screen_name>
  <id type="integer">xxxxx</id>
 </source>
</relationship>

我需要获取目标的“following type="boolean””字段的值,这是我的代码 -

$xml = simplexml_load_string($response);

foreach($xml->children() as $child)
{
      if ($child->getName() == 'target')
      {
       foreach($child->children() as $child_1)
       if ( $child_1->getName() == 'following')
       {
        $is_my_friend = (bool)$child_1;
        break;
       }
       break;
      }
}

但我没有得到正确的输出。我认为该字段的“ type =“boolean””部分正在产生问题。请帮忙。

I am beginner in PHP. I am trying to parse this xml file.

<relationship>
 <target>
  <following type="boolean">true</following>
  <followed_by type="boolean">true</followed_by>
  <screen_name>xxxx</screen_name>
  <id type="integer">xxxx</id>
 </target>
 <source>
  <notifications_enabled nil="true"/>
  <following type="boolean">true</following>
  <blocking nil="true"/>
  <followed_by type="boolean">true</followed_by>
  <screen_name>xxxx</screen_name>
  <id type="integer">xxxxx</id>
 </source>
</relationship>

I need to get the value of the field 'following type="boolean" ' for the target and here's my code -

$xml = simplexml_load_string($response);

foreach($xml->children() as $child)
{
      if ($child->getName() == 'target')
      {
       foreach($child->children() as $child_1)
       if ( $child_1->getName() == 'following')
       {
        $is_my_friend = (bool)$child_1;
        break;
       }
       break;
      }
}

but I am not getting the correct output. I think the ' type="boolean" ' part of the field is creating problems. Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

三生一梦 2024-09-04 22:45:16

您还可以使用 xpath 来实现此目的。

foreach ($xml->xpath("//target/following[@type='boolean']") as $is_my_friend) 
{   
  echo $is_my_friend;
}

You could also use xpath for this.

foreach ($xml->xpath("//target/following[@type='boolean']") as $is_my_friend) 
{   
  echo $is_my_friend;
}
找回味觉 2024-09-04 22:45:16

$xml = simplexml_load_string($response);

foreach($xml->目标->以下为$child)
{
$is_my_friend = $child;
}

$xml = simplexml_load_string($response);

foreach($xml->target->following as $child)
{
$is_my_friend = $child;
}

因为看清所以看轻 2024-09-04 22:45:16

在 PHP 中将字符串转换为布尔值时,除了空字符串和“0”之外的所有值都被视为 TRUE。

http://www.php。 net/manual/en/language.types.boolean.php#language.types.boolean.casting

When casting a string to boolean in PHP, all values except the empty string and "0" are considered TRUE.

http://www.php.net/manual/en/language.types.boolean.php#language.types.boolean.casting

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文