2009-10-05 9 views
0

On m'a demandé de mettre rapidement en place un petit système qui prend un flux XML Yahoo, l'analyse et crée un fragment HTML basé sur celui-ci. Pour l'instant, j'utilise Django pour gérer le routage de l'URL, avec un script Python, et sortir un peu de HTML dans (avec des dimensions codées en dur comme CSS inline), qui peut être placé dans un iframe (cette partie était mon idée à moitié cuite).Django - Parse XML, sortie en tant que fragments HTML pour iFrame?

On m'a également demandé d'ajouter quelques autres bits, comme quelque chose pour analyser les flux XML Twitter, les résultats de recherche XML Wordpress, etc., qui pourraient être réorganisés sur une page dans les iFrames. Les URL devraient ressembler à http://foobar.com/yahoofeed/keyword/dimensions, ou/twitter/keyword/dimensions, où mot-clé est le mot-clé de recherche, et les dimensions sont l'une de certaines tailles prédéterminées (je suppose que s'il y a plus de paramètres, je devrais les transmettre comme chaînes de requête, par opposition à sous-répertoires virtuels dans le cadre de l'URL, à droite? Réflexions? Avantages/inconvénients de l'un ou l'autre?).

Cependant, je me demande si c'est la meilleure façon de faire cela? Cela me semble un peu hack, mais je ne suis pas vraiment sûr. Y a-t-il des problèmes avec l'approche actuelle?

Cheers, Victor

Répondre

0

Votre solution semble bien. La nature de votre problème est de rassembler quelques morceaux, donc il sera toujours un peu ad hoc et hackish (et Python est idéal pour un travail comme ça).

J'utiliser des chaînes de requête pour tout ce qui:

  • ne représente pas une ressource permanente
  • représente une sorte d'option de requête ou entrée
  • représente une option de sortie

Je ferais une exception à ceci pour fournir de bonnes adresses URL pour le cas simple, et si une option était toujours requise (et sera toujours nécessaire) alors vous pourriez le faire partie du chemin. Donc, je pense que garder le mot-clé dans le cadre de l'URL est bien, mais les dimensions doivent être une option de chaîne de requête.

1

Pour analyser XML, je préfère xml.dom.minidom en raison de l'utilisation de straigtforward et il fait partie de la bibliothèque python standard. Dans votre cas, je pense que vous devriez utiliser une chaîne de requête au lieu de longues URL, les URL sont flexibles mais pour gérer la longueur variable des paramètres, il vaut mieux utiliser GET ou POST. L'avantage de cette approche est que vous n'avez pas besoin de définir une URL pour chaque combinaison de variables possibles.

Je pense que vous avez trouvé la meilleure (et la plus simple) façon de le faire.

Questions connexes