Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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 用itunes解析xml标记:来自url的东西_Php_Xml_Xml Parsing_Simplexml - Fatal编程技术网

Php 用itunes解析xml标记:来自url的东西

Php 用itunes解析xml标记:来自url的东西,php,xml,xml-parsing,simplexml,Php,Xml,Xml Parsing,Simplexml,我正在努力用simplexml\u load\u文件PHP解析url中的xml。我在这里找到了许多关于stackoverflow的例子,但是没有人给出我所期望的结果 这是xml url的一部分。 我想要的是itunes:image或google:image标签 <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href=&qu

我正在努力用simplexml\u load\u文件PHP解析url中的xml。我在这里找到了许多关于stackoverflow的例子,但是没有人给出我所期望的结果

这是xml url的一部分。 我想要的是itunes:image或google:image标签

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="rss.xslt" ?>
<rss
    xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
    xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:spotify="http://www.spotify.com/ns/rss"
    xmlns:psc="http://podlove.org/simple-chapters/"
    xmlns:media="https://search.yahoo.com/mrss/"
    version="2.0">
    <channel>
        <title>"Anecdotes"</title>
                    <link>https://podcast.ausha.co/anecdotes</link>
                <atom:link rel="self" type="application/rss+xml" href="https://feed.ausha.co/bVn6ghlkLaaz"/>
        <description>"Anecdotes" met en lumière des histoires insolites et incroyables, de personnalités connues, ou non, et dont on va pouvoir tirer ensemble, 3 leçons sur la vie, le travail ou l'entrepreneuriat. 
Bonjour, je suis Baptiste Piocelle, entrepreneur, co-fondateur de Canoa et podcasteur. Dans mon émission, vous découvrirez des histoires extraordinaires qui vous feront progresser dans vos objectifs de vie. Identifiez-vous facilement aux invités avec un panel très large de personnalités, de métiers et de caractères. Une émission sans langue de bois ni montage, la vérité à l'état pur. 
Écoutez des personnalités connues raconter des Anecdotes inédites sur leur vie, puis écoutez votre voisin parler de l'histoire incroyable qui lui est arrivé, le choix est votre. 
N'hésitez pas à aimer, noter, partager et commenter le podcast. Si vous le partagez à 3 personnes autour de vous, ensemble, nous atteindrons des sommets. 
Merci et bonne écoute !
Amicalement vôtre, 

Baptiste Piocelle</description>
        <language>fr</language>
        <copyright>Baptiste Piocelle</copyright>
        <lastBuildDate>Sun, 25 Apr 2021 08:01:04 +0000</lastBuildDate>
        <pubDate>Sun, 25 Apr 2021 08:01:04 +0000</pubDate>
        <webMaster>feeds@ausha.co (Ausha)</webMaster>
        <generator>Ausha (https://www.ausha.co)</generator>
                    <spotify:countryOfOrigin>fr</spotify:countryOfOrigin>
        
        <itunes:author>Baptiste Piocelle</itunes:author>
        <itunes:owner>
            <itunes:name>Baptiste Piocelle</itunes:name>
            <itunes:email>baptiste.piocelle@gmail.com</itunes:email>
        </itunes:owner>
        <itunes:summary>"Anecdotes" met en lumière des histoires insolites et incroyables, de personnalités connues, ou non, et dont on va pouvoir tirer ensemble, 3 leçons sur la vie, le travail ou l'entrepreneuriat. 
Bonjour, je suis Baptiste Piocelle, entrepreneur, co-fondateur de Canoa et podcasteur. Dans mon émission, vous découvrirez des histoires extraordinaires qui vous feront progresser dans vos objectifs de vie. Identifiez-vous facilement aux invités avec un panel très large de personnalités, de métiers et de caractères. Une émission sans langue de bois ni montage, la vérité à l'état pur. 
Écoutez des personnalités connues raconter des Anecdotes inédites sur leur vie, puis écoutez votre voisin parler de l'histoire incroyable qui lui est arrivé, le choix est votre. 
N'hésitez pas à aimer, noter, partager et commenter le podcast. Si vous le partagez à 3 personnes autour de vous, ensemble, nous atteindrons des sommets. 
Merci et bonne écoute !
Amicalement vôtre, 

Baptiste Piocelle</itunes:summary>
        <itunes:explicit>no</itunes:explicit>
        <itunes:block>no</itunes:block>
        <itunes:type>episodic</itunes:type>
                    <itunes:subtitle>Anecdotes insolites et incroyables de personnes connues, ou non.</itunes:subtitle>
        
        <googleplay:author>Baptiste Piocelle</googleplay:author>
        <googleplay:email>baptiste.piocelle@gmail.com</googleplay:email>
        <googleplay:description>"Anecdotes" met en lumière des histoires insolites et incroyables, de personnalités connues, ou non, et dont on va pouvoir tirer ensemble, 3 leçons sur la vie, le travail ou l'entrepreneuriat. 
Bonjour, je suis Baptiste Piocelle, entrepreneur, co-fondateur de Canoa et podcasteur. Dans mon émission, vous découvrirez des histoires extraordinaires qui vous feront progresser dans vos objectifs de vie. Identifiez-vous facilement aux invités avec un panel très large de personnalités, de métiers et de caractères. Une émission sans langue de bois ni montage, la vérité à l'état pur. 
Écoutez des personnalités connues raconter des Anecdotes inédites sur leur vie, puis écoutez votre voisin parler de l'histoire incroyable qui lui est arrivé, le choix est votre. 
N'hésitez pas à aimer, noter, partager et commenter le podcast. Si vous le partagez à 3 personnes autour de vous, ensemble, nous atteindrons des sommets. 
Merci et bonne écoute !
Amicalement vôtre, 

Baptiste Piocelle</googleplay:description>
        <googleplay:explicit>no</googleplay:explicit>

                    <category>Business</category>
            <itunes:category text="Business">
                <itunes:category text="Entrepreneurship"/>
            </itunes:category>
            <googleplay:category text="Business"/>
        
                    <image>
                <url>https://image.ausha.co/XhB165o4xydsexMnRaeWnChVEQyzCCCHesge5RBF_1400x1400.jpeg?t=1606905283</url>
                <title>"Anecdotes"</title>
                                    <link>https://podcast.ausha.co/anecdotes</link>
                            </image>
            <itunes:image href="https://image.ausha.co/XhB165o4xydsexMnRaeWnChVEQyzCCCHesge5RBF_1400x1400.jpeg?t=1606905283"/>
            <googleplay:image href="https://image.ausha.co/XhB165o4xydsexMnRaeWnChVEQyzCCCHesge5RBF_1400x1400.jpeg?t=1606905283"/>
        
                    <item>
                <title>#18 "J'ai tout plaqué du jour au lendemain pour partir seule, j'ai torpillé ma vie." Camille Dubois-Leipp, fondatrice de Outtrip.</title>
                <guid isPermaLink="false">049ecaaadeaca289eb4975b02eee9edb1b8c4792</guid>
                <description><![CDATA[<p>Cela vous est-il déjà arrivé d'imaginer ce qu'il se passerait si vous plaquiez tout du jour au lendemain ? Avec pour objectif de partir vivre seul dans une nouvelle ville, ou bien même pour partir en pèlerinage sur le chemin de Saint-Jacques de Compostelle ?</p>
<p>Et bien si vous voulez une réponse, écoutez cet épisode. Camille Dubois-Leipp a torpillé sa vie du jour au lendemain, pour partir seule, pendant 40 jours, en pèlerinage.</p>
<p>Elle était la cadre dynamique parisienne parfaite, 30 ans, un gros poste, un bon salaire, des amis et du boulot par-dessus la tête.</p>
<p>Puis, tout s'effondre, le déclique, elle part, d'abord sur le chemin de Compostelle, puis elle plaque tout pour s'installer à Annecy, sans argent et sans connaissances.</p>
<p>Aujourd’hui, elle se lance dans l'entrepreneuriat, avec un projet sportif Outtrip.</p>
<p>Un épisode dans lequel on parle de sport, de travail, de spiritualité, de notre rapport à la vie. Bref, un épisode passionnant, que je vous conseille vivement.</p>
<p>N'oubliez pas de vous abonner, c'est super important, et partagez de force ce podcast à vos proches !</p>
<p>Venez me suivre sur instagram @thebatoux et @anecdotes_podcast, ainsi que sur LinkedIn.</p>
<p>À la semaine prochaine !</p>]]></description>
                <content:encoded><![CDATA[<p>Cela vous est-il déjà arrivé d'imaginer ce qu'il se passerait si vous plaquiez tout du jour au lendemain ? Avec pour objectif de partir vivre seul dans une nouvelle ville, ou bien même pour partir en pèlerinage sur le chemin de Saint-Jacques de Compostelle ?</p>
<p>Et bien si vous voulez une réponse, écoutez cet épisode. Camille Dubois-Leipp a torpillé sa vie du jour au lendemain, pour partir seule, pendant 40 jours, en pèlerinage.</p>
<p>Elle était la cadre dynamique parisienne parfaite, 30 ans, un gros poste, un bon salaire, des amis et du boulot par-dessus la tête.</p>
<p>Puis, tout s'effondre, le déclique, elle part, d'abord sur le chemin de Compostelle, puis elle plaque tout pour s'installer à Annecy, sans argent et sans connaissances.</p>
<p>Aujourd’hui, elle se lance dans l'entrepreneuriat, avec un projet sportif Outtrip.</p>
<p>Un épisode dans lequel on parle de sport, de travail, de spiritualité, de notre rapport à la vie. Bref, un épisode passionnant, que je vous conseille vivement.</p>
<p>N'oubliez pas de vous abonner, c'est super important, et partagez de force ce podcast à vos proches !</p>
<p>Venez me suivre sur instagram @thebatoux et @anecdotes_podcast, ainsi que sur LinkedIn.</p>
<p>À la semaine prochaine !</p>]]></content:encoded>
                <pubDate>Sun, 25 Apr 2021 08:00:00 +0000</pubDate>
                <enclosure url="https://audio.ausha.co/yEXw1UR2qKmV.mp3?t=1619332909" length="81096723" type="audio/mpeg"/>
                                    <link>https://podcast.ausha.co/anecdotes/18-j-ai-tout-plaque-du-jour-au-lendemain-pour-partir-seule-j-ai-torpille-ma-vie-camille-dubois-leipp-fondatrice-de</link>
                
                                <itunes:author>Baptiste Piocelle</itunes:author>
                <itunes:explicit>no</itunes:explicit>
                                    <itunes:keywords>podcast,France,paris,anecdotes,vie,entrepreneuriat,entrepreneur,coach,Rouen,start-up,français,célébrités</itunes:keywords>
                                <itunes:duration>1:24:28</itunes:duration>
                <itunes:episodeType>full</itunes:episodeType>
                                    <itunes:season>1</itunes:season>
                                            <itunes:episode>16</itunes:episode>
                                                    <itunes:block>no</itunes:block>
                <itunes:subtitle>Cela vous est-il déjà arrivé d'imaginer ce qu'il se passerait si vous plaquiez tout du jour au lendemain ? Avec pour objectif de partir vivre seul dans une nouvelle ville, ou bien même pour partir en pèlerinage sur le chemin de Saint-Jacques de Compost...</itunes:subtitle>

                <googleplay:author>Baptiste Piocelle</googleplay:author>
                                <googleplay:explicit>no</googleplay:explicit>
                <googleplay:block>no</googleplay:block>

                                    <itunes:image href="https://image.ausha.co/RWtgTlFC7BbehBR0KAv5z7HnXXb32yCAFFCw7IbE_1400x1400.jpeg?t=1619332719"/>
                    <googleplay:image href="https://image.ausha.co/RWtgTlFC7BbehBR0KAv5z7HnXXb32yCAFFCw7IbE_1400x1400.jpeg?t=1619332719"/>
                
                
                            </item>
                    <item>
它不解析/显示任何“itunes:something”标记。任何人都会知道它为什么不解析,以及我可以使用什么解决方案

我尝试了这个,但出现了php致命错误

$xml->registerXPathNamespace('i', "http://www.itunes.com/dtds/podcast-1.0.dtd");

foreach($xml->xpath('//i:author') as $author) {
    echo $author;
}

仔细阅读错误消息:在第一行,它说“字符串不能被解析为XML”;然后在第二行的末尾,它显示您已经运行了
simplexmlement->\uu构造(“”)

因此,错误来自行
$xml=newsimplexmlement($r)$r
不包含任何内容

你似乎混淆了两件事:

  • 您试图从中获取XML的统一资源定位器(URL),它是“https://feed.ausha.co/bVn6ghlkLaaz"
  • 统一资源标识符(URI),用于标识XML中您感兴趣的不同名称空间,即“http://www.itunes.com/dtds/podcast-1.0.dtd"
返回用于加载XML的代码的第一个版本,该版本工作正常:

$url=”https://feed.ausha.co/bVn6ghlkLaaz";
$rss=simplexml\u load\u文件($url);
然后,使用XPath获取所需的元素:

echo $xml->channel->children("http://www.itunes.com/dtds/podcast-1.0.dtd")->author;
或者使用
->children()


仔细阅读错误消息:在第一行,它说“字符串不能被解析为XML”;然后在第二行的末尾,它显示您已经运行了
simplexmlement->\uu构造(“”)

因此,错误来自行
$xml=newsimplexmlement($r)$r
不包含任何内容

你似乎混淆了两件事:

  • 您试图从中获取XML的统一资源定位器(URL),它是“https://feed.ausha.co/bVn6ghlkLaaz"
  • 统一资源标识符(URI),用于标识XML中您感兴趣的不同名称空间,即“http://www.itunes.com/dtds/podcast-1.0.dtd"
返回用于加载XML的代码的第一个版本,该版本工作正常:

$url=”https://feed.ausha.co/bVn6ghlkLaaz";
$rss=simplexml\u load\u文件($url);
然后,使用XPath获取所需的元素:

echo $xml->channel->children("http://www.itunes.com/dtds/podcast-1.0.dtd")->author;
或者使用
->children()


这回答了你的问题吗?我试了两个答案,到目前为止都不起作用。我更新了我的消息并分享了我所做的事情,也许我做错了什么?
$xml->registerXPathNamespace('I','https://feed.ausha.co/bVn6ghlkLaaz');–这是您请求数据的URL,它不是名称空间URI之一。这是否回答了您的问题?我试了两个答案,到目前为止都不起作用。我更新了我的消息并分享了我所做的事情,也许我做错了什么?
$xml->registerXPathNamespace('I','https://feed.ausha.co/bVn6ghlkLaaz');–这是您请求数据的URL,它不是名称空间URI之一。您好@IMSoP,非常感谢您的回复,这非常有帮助。事实上,我对用于标识不同名称空间的URL感到困惑,甚至对从理论上解释其工作原理的文档(我指的是您的链接和所有解释,这在我看来非常棒)也感到困惑,我仍然不明白您是如何发现“”的。我还有另一个问题,比如标签。如果我理解得很好,我应该使用attributes方法来处理这个特定的问题?@LeDude在XML的顶部,您可以看到:
xmlns:itunes=”http://www.itunes.com/dtds/podcast-1.0.dtd“
。这意味着“从现在起,前缀‘itunes:'意味着名称空间’”。因此,当您看到像
这样的标记时,您可以回顾
xmlns
属性并找到该名称空间。是的,必须访问没有前缀的属性,如
->attributes()->href
。好的,经过一些尝试后,我终于可以获得的href,我是这样做的:
$image=$xml->xpath('//I:image')[1]['href']。再次阅读后,URL位于xml内部,位于xml中。再次感谢你!您好@IMSoP,非常感谢您的回复,这非常有帮助。事实上,我对用于标识不同名称空间的URL感到困惑,甚至对从理论上解释其工作原理的文档(我指的是您的链接和所有解释,这在我看来非常棒)也感到困惑,我仍然不明白您是如何发现“”的。我还有另一个问题,比如标签。如果我理解得很好,我应该使用attributes方法来处理这个特定的问题?@LeDude在XML的顶部,您可以看到:
xmlns:itunes=”http://www.itunes.com/dtds/podcast-1.0.dtd“
。这意味着“从现在起,前缀‘itunes:'意味着名称空间’”。因此,当您看到像
这样的标记时,您可以回顾
xmlns
属性并找到该名称空间。是的,必须访问没有前缀的属性,如
->attributes()->href
。好的,经过一些尝试后,我终于可以获得的href,我是这样做的:
$image=$xml->xpath('//I:image')[1]['href']。再次阅读后,URL位于xml内部,位于xml中。再次感谢你!
$xml->registerXPathNamespace('i', "http://www.itunes.com/dtds/podcast-1.0.dtd");

foreach($xml->xpath('//i:author') as $author) {
    echo $author;
}
echo $xml->channel->children("http://www.itunes.com/dtds/podcast-1.0.dtd")->author;