gpt4 book ai didi

PHP 使用 xpath 输出

转载 作者:行者123 更新时间:2023-12-02 12:55:23 25 4
gpt4 key购买 nike

我刚刚开始使用 xpath,需要一些帮助。

我正在使用 tvdb 的 api 并具有以下 xml(针对问题进行了缩写)

<Data>
<Episode>
<id>4762752</id>
<EpisodeName>I.</EpisodeName>
<EpisodeNumber>1</EpisodeNumber>
<SeasonNumber>1</SeasonNumber>
</Episode>
<Episode>
<id>4762756</id>
<EpisodeName>II.</EpisodeName>
<EpisodeNumber>2</EpisodeNumber>
<SeasonNumber>1</SeasonNumber>
</Episode>
</Data>

我想获取所有剧集详细信息,其中剧集编号=某物且季数等于某物。

我认为我的 xpath 查询是正确的,但我无法(或不知道如何)访问之后的数据。

到目前为止我的代码:

$tvdbSeriesData = simplexml_load_file($tvdbSeriesFeed);

$tvdbEpisodes = $tvdbSeriesData->xpath("//Data/Episode[SeasonNumber/text() = '$seasonNumber'][EpisodeNumber/text() = '$episodeNumber']");

echo $tvdbEpisodes->id;

这是我第一次尝试使用 xpath,所以如果这是微不足道的,我深表歉意,但是有人可以告诉我正确的方向或者向我解释我在这里做错了什么。

谢谢

最佳答案

xpath 函数返回 Array 以及 xpath 查询的结果:

$tvdbSeriesFeed = '<Data>
<Episode>
<id>4762752</id>
<EpisodeName>I.</EpisodeName>
<EpisodeNumber>1</EpisodeNumber>
<SeasonNumber>1</SeasonNumber>
</Episode>
<Episode>
<id>4762756</id>
<EpisodeName>II.</EpisodeName>
<EpisodeNumber>2</EpisodeNumber>
<SeasonNumber>1</SeasonNumber>
</Episode>
</Data>';

$tvdbSeriesData = simplexml_load_string($tvdbSeriesFeed);
$seasonNumber = 1;
$episodeNumber = 1;
$tvdbEpisodes = $tvdbSeriesData->xpath("//Data/Episode[SeasonNumber/text() = '$seasonNumber'][EpisodeNumber/text() = '$episodeNumber']");

echo $tvdbEpisodes[0]->id; // 4762752

I used the function simplexml_load_string only for the example to work.

您还可以 var_dump 结果:

var_dump($tvdbEpisodes);

将输出:

array(1) {
[0] =>
class SimpleXMLElement#3 (4) {
public $id =>
string(7) "4762752"
public $EpisodeName =>
string(2) "I."
public $EpisodeNumber =>
string(1) "1"
public $SeasonNumber =>
string(1) "1"
}
}

关于PHP 使用 xpath 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38708061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com