2010-10-24 7 views
6

Je suis un peu nouveau pour les flux rss, mais je suis capable de créer un flux dynamiquement en utilisant PHP et ça marche très bien. Mon problème est que parfois le flux n'a aucun élément (je limite l'âge des éléments de flux à 60 jours, et parfois rien ne s'est passé pendant ce temps).Comment créer un flux RSS "vide"

Ce que je m'attendrais à ce que ce soit que je n'aurais tout simplement <item> s dans ma page xml. Cependant, quand je le fais de cette façon, le lecteur de flux (au moins le Google) semble être un peu borked. Même si le XML contient correctement le nom du flux, il apparaît sans titre.

La seule façon que j'ai trouvé jusqu'à présent pour résoudre ce problème est de mettre un élément factice, c'est-à-dire simplement <item><title></title></item>. Ensuite, mon lecteur Google trouve le nom du flux correctement, et il ressemble à un flux vide.

Il semble que c'est une solution hokey qui est probablement incorrecte.

Existe-t-il un moyen standard de traiter la présentation XML pour un flux vide?

Edit: Voici ce que l'alimentation vide ressemble

<?xml version="1.0" encoding="utf-8"?> <rss version="2.0" 
xmlns:dc="http://purl.org/dc/elements/1.1/" 
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" 
xmlns:admin="http://webns.net/mvcb/" 
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:content="http://purl.org/rss/1.0/modules/content/"> 

<channel> 

<title>News at Example</title> 

<link>http://www.example.com/feed/sample-reviews</link> 
<description>Latest Additions to the Sample Category</description> 
<dc:language>en-us</dc:language> 
<dc:creator>Contact Example through our "contact us" page</dc:creator> 

<dc:rights>Copyright 2010 Example Technologies Inc.</dc:rights> 
<admin:generatorAgent rdf:resource="http://www.codeigniter.com/" /> 

     <item><title></title></item> 

</channel></rss> 
+2

Cela ressemble à un bug. Il n'y a rien de mal en principe avec un flux moins de ''. – bobince

+0

Pouvez-vous afficher un exemple complet de votre flux? –

+0

Je l'ai ajouté. Sans cette balise vide, Google Reader ne récupère pas le titre principal du flux pour une raison quelconque. Avec ça, ça fonctionne bien. Et cela fonctionne bien avec les éléments réels aussi bien. Juste quand il n'y a pas d'article du tout j'ai un problème. – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/478053/">neomech</a></span> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> </div> <div class="answer-title"> <span class="text-logo margin-top-sm">A</span> <h2 class="title h4">Répondre</h2> </div> <div class="item-description text-md markdown-body margin-bottom-40 voidso"> <article class="board-top-1 padding-top-10"> <div class="post-col vote-info"> <span class="count">5<i class="fa fa-thumbs-up"></i></span> <i class="fa fa-check fa-2x"></i> </div> <div class="post-offset"> <div class="answer fmt"> <p>Un flux vide est une enceinte d'alimentation (la substance XML en général) sans aucun élément. L'enceinte doit toujours être valide pour que ce soit un flux valide.</p> <p>De <a href="http://cyber.law.harvard.edu/rss/rss.html#hrelementsOfLtitemgt" rel="nofollow noreferrer">RSS 2.0 Specification</a>, tandis qu'à partir de 2003:</p> <blockquote> <blockquote> <p>Un canal peut contenir un nombre quelconque de < item> s</p> </blockquote> </blockquote> <p>Cependant, à partir d'au moins <a href="http://www.thearchitect.co.uk/schemas/rss-2_0.xsd" rel="nofollow noreferrer">one RSS XSD</a> nous pouvons voir que ce n'est pas honoré et les développeurs le savent:</p> <pre> <xs:element name="item" type="RssItem" minOccurs="1" maxOccurs="unbounded"> <!-- HACK: According to the RSS 2.0 spec, it should strictly be possible to have zero item elements, but this makes the schema non-deterministic with regard to extensibility elements so for the moment we undid bug-fix 10231 and set minOccurs=1 to work around this problem. --> </xs:element> </pre> <p>Essayez votre flux dans différents clients. Peut-être que c'est juste une bizarrerie de la mise en œuvre de Google. YMMV.</p> <p>Bonne codification.</p> <p><strong>Editer:</strong> Pour le plaisir, voir la question SO: <a href="https://stackoverflow.com/questions/1650290/where-i-can-find-the-official-xsd-schema-for-rss-2-0">Where I can find the official XSD schema for RSS 2.0?</a>. C'est tout à fait le laisser-tomber, en fait: -/</p> </div> <div class="post-info"> <div class="post-meta row"> <p class="text-secondary col-lg-6"> <span class="source"> <a rel="noopener" target="_blank" href="https://stackoverflow.com/q/4009145">Source</a> </span> </p> <p class="text-secondary col-lg-6"> <span class="float-right date"> <span>2010-10-24 16:31:26</span> </p> <p class="col-12"></p> <p class="col-12"></p></div> </div> <!-- comments --> <div class="comments"> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">J'ai vu quelques discussions en ligne sur la mise en place d'une sorte d'élément "par défaut" qui indique qu'il n'y a pas de flux pour le moment. Est-ce que cela a du sens de mettre en place un objet comme celui-là, étant donné qu'il n'en a pas? – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/478053/">neomech</a></span> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">@neomech Utilisez ce qui fonctionne le mieux pour le (s) client (s) donné (s). Codage heureux. – <span class="text-secondary"> <small> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="4319274062" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <article class="board-top-1 padding-top-10"> <div class="post-col vote-info"> <span class="count">10<i class="fa fa-thumbs-up"></i></span> </div> <div class="post-offset"> <div class="answer fmt"> <p>Un flux avec zéro articles est parfaitement valide. Si Google Reader ne gère pas correctement cela, il devrait leur être signalé comme un bug et ils devraient le corriger.</p> </div> <div class="post-info"> <div class="post-meta row"> <p class="text-secondary col-lg-6"> <span class="source"> <a rel="noopener" target="_blank" href="https://stackoverflow.com/q/4009177">Source</a> </span> </p> <p class="text-secondary col-lg-6"> <span class="float-right date"> <span>2010-10-24 16:36:19</span> </p> <p class="col-12"></p> <p class="col-12"></p></div> </div> <!-- comments --> <div class="comments"> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">Je suis d'accord avec ça. Cela dit, beaucoup de gens utilisent Google Reader (y compris moi-même!) Et je voudrais que mon code fonctionne correctement entre-temps afin que tous les utilisateurs qui utilisent Google au moins voient ce qu'ils sont censés faire. On dirait que le fait d'avoir un «hack» quelconque pour un flux vide est la voie à suivre. – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/478053/">neomech</a></span> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> </div> <div class="clearfix"> </div> <div class="relative-box"> <div class="relative">Questions connexes</div> <ul class="relative_list"> <li> 1. <a href="http://fr.voidcc.com/question/p-amayzfjs-be.html" target="_blank" title="Comment créer un flux RSS?"> Comment créer un flux RSS? </a> </li> <li> 2. <a href="http://fr.voidcc.com/question/p-fvqazsyu-bk.html" target="_blank" title="Comment créer dynamiquement un flux RSS?"> Comment créer dynamiquement un flux RSS? </a> </li> <li> 3. <a href="http://fr.voidcc.com/question/p-ffmrevnt-d.html" target="_blank" title="Comment créer un flux RSS et l'afficher?"> Comment créer un flux RSS et l'afficher? </a> </li> <li> 4. <a href="http://fr.voidcc.com/question/p-brvltgeq-cp.html" target="_blank" title="Flux RSS vide? Mais source visible"> Flux RSS vide? Mais source visible </a> </li> <li> 5. <a href="http://fr.voidcc.com/question/p-qfdgllhm-x.html" target="_blank" title="créer un flux rss avec php"> créer un flux rss avec php </a> </li> <li> 6. <a href="http://fr.voidcc.com/question/p-dxrhbkbw-y.html" target="_blank" title="comment créer un flux RSS pour un site Web?"> comment créer un flux RSS pour un site Web? </a> </li> <li> 7. <a href="http://fr.voidcc.com/question/p-hmeuiypu-cb.html" target="_blank" title="Comment authentifier un flux RSS"> Comment authentifier un flux RSS </a> </li> <li> 8. <a href="http://fr.voidcc.com/question/p-sbchyxkh-u.html" target="_blank" title="Comment créer un flux RSS/Atom dans Rails 3?"> Comment créer un flux RSS/Atom dans Rails 3? </a> </li> <li> 9. <a href="http://fr.voidcc.com/question/p-gohixzbf-br.html" target="_blank" title="Comment créer un flux RSS 2.0 avec Java"> Comment créer un flux RSS 2.0 avec Java </a> </li> <li> 10. <a href="http://fr.voidcc.com/question/p-rsrposkp-e.html" target="_blank" title="Inverser un flux RSS"> Inverser un flux RSS </a> </li> <li> 11. <a href="http://fr.voidcc.com/question/p-sktkbrlt-u.html" target="_blank" title="Où créer un flux RSS pour un site web dynamique"> Où créer un flux RSS pour un site web dynamique </a> </li> <li> 12. <a href="http://fr.voidcc.com/question/p-xkywdhyr-bo.html" target="_blank" title="ASP.NET MVC - Créer un flux RSS qui nécessite une authentification"> ASP.NET MVC - Créer un flux RSS qui nécessite une authentification </a> </li> <li> 13. <a href="http://fr.voidcc.com/question/p-sjoripou-y.html" target="_blank" title="Obtenir un flux RSS complet"> Obtenir un flux RSS complet </a> </li> <li> 14. <a href="http://fr.voidcc.com/question/p-gjpqjywy-q.html" target="_blank" title="Comment masser/modifier un flux RSS?"> Comment masser/modifier un flux RSS? </a> </li> <li> 15. <a href="http://fr.voidcc.com/question/p-phmzgknd-g.html" target="_blank" title="Comment écrire un flux RSS avec Java?"> Comment écrire un flux RSS avec Java? </a> </li> <li> 16. <a href="http://fr.voidcc.com/question/p-xgwbnpee-bx.html" target="_blank" title="Aide avec un flux RSS"> Aide avec un flux RSS </a> </li> <li> 17. <a href="http://fr.voidcc.com/question/p-qzqhqmbl-by.html" target="_blank" title="Comment agréger différents flux RSS dans un seul flux"> Comment agréger différents flux RSS dans un seul flux </a> </li> <li> 18. <a href="http://fr.voidcc.com/question/p-ynpzvnvk-bc.html" target="_blank" title="Flux RSS dashcode confusion"> Flux RSS dashcode confusion </a> </li> <li> 19. <a href="http://fr.voidcc.com/question/p-cdivtaph-bb.html" target="_blank" title="Flux RSS dans Excel"> Flux RSS dans Excel </a> </li> <li> 20. <a href="http://fr.voidcc.com/question/p-nglvinxl-b.html" target="_blank" title="Comment créer un flux Zend correctement?"> Comment créer un flux Zend correctement? </a> </li> <li> 21. <a href="http://fr.voidcc.com/question/p-eyplnbde-s.html" target="_blank" title="TFS checkin Flux RSS"> TFS checkin Flux RSS </a> </li> <li> 22. <a href="http://fr.voidcc.com/question/p-nnsoznnu-bo.html" target="_blank" title="Atom au flux RSS"> Atom au flux RSS </a> </li> <li> 23. <a href="http://fr.voidcc.com/question/p-rtxeubnf-h.html" target="_blank" title="Gestion des flux RSS"> Gestion des flux RSS </a> </li> <li> 24. <a href="http://fr.voidcc.com/question/p-knklytzd-c.html" target="_blank" title="flux RSS liste (gratuit)"> flux RSS liste (gratuit) </a> </li> <li> 25. <a href="http://fr.voidcc.com/question/p-dguotbmb-ce.html" target="_blank" title="flux rss par linq"> flux rss par linq </a> </li> <li> 26. <a href="http://fr.voidcc.com/question/p-qiuitrlv-bm.html" target="_blank" title="Liens Drupal flux RSS"> Liens Drupal flux RSS </a> </li> <li> 27. <a href="http://fr.voidcc.com/question/p-shfihwdn-h.html" target="_blank" title="Problèmes de flux RSS?"> Problèmes de flux RSS? </a> </li> <li> 28. <a href="http://fr.voidcc.com/question/p-zejpnmgn-o.html" target="_blank" title="Flux RSS depuis Gallery2"> Flux RSS depuis Gallery2 </a> </li> <li> 29. <a href="http://fr.voidcc.com/question/p-ungyejdz-b.html" target="_blank" title="Comment créer un DOMEment vide"> Comment créer un DOMEment vide </a> </li> <li> 30. <a href="http://fr.voidcc.com/question/p-aogxhiks-c.html" target="_blank" title="craigslist flux rss"> craigslist flux rss </a> </li> </ul> </div> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3534119089"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img2.voidcc.com/voidso/script/side.js?t=1652515422260"></script> <script type="text/javascript" src="http://img2.voidcc.com/voidso/plugin/highlight/highlight.pack.js"></script> <link href="http://img2.voidcc.com/voidso/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- VOIDCC问答侧边栏广告 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3862022848" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> Dernière question </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://fr.voidcc.com/question/p-pwfoxxwa-bkv.html" target="_blank" title="ionique 3 + Firebase RANGEMENT Profil image"> ionique 3 + Firebase RANGEMENT Profil image </a> </li> <li class="side_article_list_item"> 2. <a href="http://fr.voidcc.com/question/p-bzflwnly-bkx.html" target="_blank" title="Tkinter frame pour occuper la rangée inférieure entière de la fenêtre"> Tkinter frame pour occuper la rangée inférieure entière de la fenêtre </a> </li> <li class="side_article_list_item"> 3. <a href="http://fr.voidcc.com/question/p-pslyrszm-bkx.html" target="_blank" title="WSO2 Registre ESB EI611 valeurs basées pour la configuration de l'outillage"> WSO2 Registre ESB EI611 valeurs basées pour la configuration de l'outillage </a> </li> <li class="side_article_list_item"> 4. <a href="http://fr.voidcc.com/question/p-brtpvnya-bkw.html" target="_blank" title="Variogramme pour une donnée "maillés""> Variogramme pour une donnée "maillés" </a> </li> <li class="side_article_list_item"> 5. <a href="http://fr.voidcc.com/question/p-zvurnghw-bkw.html" target="_blank" title="Comment désactiver l'affichage des messages du journal des applications sur la console pendant l'exécution des tests phpunit?"> Comment désactiver l'affichage des messages du journal des applications sur la console pendant l'exécution des tests phpunit? </a> </li> <li class="side_article_list_item"> 6. <a href="http://fr.voidcc.com/question/p-nsnrxztc-bkw.html" target="_blank" title="La physique de SceneKit ne se comporte pas comme prévu"> La physique de SceneKit ne se comporte pas comme prévu </a> </li> <li class="side_article_list_item"> 7. <a href="http://fr.voidcc.com/question/p-smpkncxv-bkx.html" target="_blank" title="Comment utiliser tout pour afficher un tableau entier en fonction d'un critère?"> Comment utiliser tout pour afficher un tableau entier en fonction d'un critère? </a> </li> <li class="side_article_list_item"> 8. <a href="http://fr.voidcc.com/question/p-adhvosiv-bky.html" target="_blank" title="Javascript xor 32bit nombre entier"> Javascript xor 32bit nombre entier </a> </li> <li class="side_article_list_item"> 9. <a href="http://fr.voidcc.com/question/p-dckmpjad-bky.html" target="_blank" title="Puis-je envoyer une version à TestFlight sans validation de l'AppStore?"> Puis-je envoyer une version à TestFlight sans validation de l'AppStore? </a> </li> <li class="side_article_list_item"> 10. <a href="http://fr.voidcc.com/question/p-vzckkzmi-bky.html" target="_blank" title="ProgressBar et événement cliqué de la souris"> ProgressBar et événement cliqué de la souris </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> Questions connexes</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://fr.voidcc.com/question/p-amayzfjs-be.html" target="_blank" title="Comment créer un flux RSS?"> Comment créer un flux RSS? </a> </li> <li class="side_article_list_item"> 2. <a href="http://fr.voidcc.com/question/p-fvqazsyu-bk.html" target="_blank" title="Comment créer dynamiquement un flux RSS?"> Comment créer dynamiquement un flux RSS? </a> </li> <li class="side_article_list_item"> 3. <a href="http://fr.voidcc.com/question/p-ffmrevnt-d.html" target="_blank" title="Comment créer un flux RSS et l'afficher?"> Comment créer un flux RSS et l'afficher? </a> </li> <li class="side_article_list_item"> 4. <a href="http://fr.voidcc.com/question/p-brvltgeq-cp.html" target="_blank" title="Flux RSS vide? Mais source visible"> Flux RSS vide? Mais source visible </a> </li> <li class="side_article_list_item"> 5. <a href="http://fr.voidcc.com/question/p-qfdgllhm-x.html" target="_blank" title="créer un flux rss avec php"> créer un flux rss avec php </a> </li> <li class="side_article_list_item"> 6. <a href="http://fr.voidcc.com/question/p-dxrhbkbw-y.html" target="_blank" title="comment créer un flux RSS pour un site Web?"> comment créer un flux RSS pour un site Web? </a> </li> <li class="side_article_list_item"> 7. <a href="http://fr.voidcc.com/question/p-hmeuiypu-cb.html" target="_blank" title="Comment authentifier un flux RSS"> Comment authentifier un flux RSS </a> </li> <li class="side_article_list_item"> 8. <a href="http://fr.voidcc.com/question/p-sbchyxkh-u.html" target="_blank" title="Comment créer un flux RSS/Atom dans Rails 3?"> Comment créer un flux RSS/Atom dans Rails 3? </a> </li> <li class="side_article_list_item"> 9. <a href="http://fr.voidcc.com/question/p-gohixzbf-br.html" target="_blank" title="Comment créer un flux RSS 2.0 avec Java"> Comment créer un flux RSS 2.0 avec Java </a> </li> <li class="side_article_list_item"> 10. <a href="http://fr.voidcc.com/question/p-rsrposkp-e.html" target="_blank" title="Inverser un flux RSS"> Inverser un flux RSS </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://fr.voidcc.com/contact">Nous contacter</a></li> <li>© 2020 FR.VOIDCC.COM</li> <li><a rel="nofollow" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备13005482号-13</a></li> <li><script type="text/javascript" src="https://s9.cnzz.com/z_stat.php?id=1280098168&web_id=1280098168"></script></li> <li><a href="http://cn.voidcc.com/" target="_blank" title="程序问答园区">简体中文</a></li> <li><a href="http://hk.voidcc.com/" target="_blank" title="程序問答園區">繁體中文</a></li> <li><a href="http://ru.voidcc.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.voidcc.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.voidcc.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.voidcc.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.voidcc.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.voidcc.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.voidcc.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.voidcc.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.voidcc.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.voidcc.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.voidcc.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-77509369-5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-77509369-5'); </script> <script> var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?67d4731349f0b00136755b80364ce381"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>