2013-02-26 102 views
0

我是python和django的新手,我试图修复一个网站地图创建者和其中一个会创建空的站点地图的bug。这意味着该网站地图中并没有真正的网址。如何检查网站地图是否包含一些网址

例如:

<?xml version="1.0" encoding="UTF-8"?> 
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> 
</urlset> 

我想知道最好的方法来检查,如果网站地图有一个空的网址设定标记与否。

感谢

+0

你没有示例代码? – catherine 2013-02-26 07:01:52

+0

ops我的坏我没有注意到他们没有显示 – bhappy 2013-02-26 07:08:15

+0

我认为凯瑟琳意味着你用来产生xml,而不是输出xml的代码。 – 2013-02-26 10:59:24

回答

1

你可以使用ElementTree解析XML:

from xml.etree import ElementTree as etree 

urlset = etree.fromstring(xml) 
if urlset.find('url') is None: 
    print("sitemap has no urls") 
0

当然你的错误是一个更重要的错误的直接后果 - 你的Django应用程序有没有网址了!

解决这个问题,您的网站地图bug会消失。没有网站的网站地图有什么意义?

UPDATE

我不完全了解它如何帮助,但如果你想解析XML那么Python的内置ElementTree库可能是你在找什么。 Python网站上还有更多here

+0

你以为我会发布这个问题,如果我没有一个应用程序,它实际上产生的网站地图与网址。我很想知道如何用python解析xml文件。感谢您的努力! – bhappy 2013-02-26 08:20:17

+0

对不起,我的不好 - 你的问题并不完全清楚 - 我想你想让你的代码在应用程序运行之前检查应用程序中是否存在urls。正如你所指出的,那将是愚蠢的。也许你可以包括你用来澄清的代码 - 你用什么来创建站点地图?同时,我将添加一些关于使用python解析xml的链接。 – 2013-02-26 09:51:00

相关问题