Nuva 示例代码(每日一帖)之 生成网站地图
2006-08-25 17:48
639 查看
<..======================================================== == == == Macrobject Nuva Samples == == == == Copyright (c) 2004-2006 Macrobject Software == == == == ALL RIGHTS RESERVED == == == == http://www.macrobject.com == == == ========================================================..> <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.google.com/schemas/sitemap/0.84"> <.foreach(fileName = System.File.Find('c:\www.macrobject.com\*.htm', 'F', true)).> <url> <loc>http://www.macrobject.com/[. var fn = fileName.Replace('c:\www.macrobject.com\', '') ? fn.Replace('\', '/').]</loc> <lastmod>[. var ft = System.File.GetTime(fileName) ft = ft.Left(ft.IndexOf(' ')) ? ft.RegexReplace('\b\d\b', '0$0').]</lastmod> <changefreq>weekly</changefreq> <..<priority>0.8</priority>..> </url> <./foreach.> </urlset>
<..
【简介】
本例是一个根据给定的目录生成 Google 网站地图的程序。我们的网站地图(http://www.macrobject.com/sitemap.xml)就是使用该程序自动生成的。
本例的程序能够查找指定目录的 Html 文件,并且能够获取这些 Html 文件的最后修改时间,从而能够根据 Google 的格式要求生成相应的网站地图。
Google 的网站地图是 Google 为了便于其爬虫分析所爬网站而制定的一种 Xml 文件格式。采用这种文件格式的网站地图的好处是省去 Google 分析网站结构以及更新信息的时间,从而便于 Google 爬虫的访问。
Google 网站地图的相关信息请访问:http://www.google.com/support/webmasters/bin/answer.py?answer=40318
【看点】
1、本例演示了 Nuva 语言在模板中的应用
在 Nuva 模板中,Nuva 代码可以嵌入到文本中,嵌入的 Nuva 代码能够执行,而文本则采用原文输出的方式,二者能够结合,从而产生更为复杂的输出。
在模板中的 Nuva 代码嵌入标记分为两种,分别用尖括号(<. .>)和方括号([. .])组成的两种模板标记,尖括号的这种能够删除行首空格和行尾空格换行。
2、本例用到了字符串的操作,如 Replace、Left、IndexOf、RegexReplace:
StringObject.Replace(旧串, 新串),返回该字符串替换后的结果
StringObject.Left(长度),返回该字符串左边的子串
StringObject.IndexOf(子串),返回该子串的位置(首字符的位置)
StringObject.RegexReplace(正则串, 新串, [选项]),返回该字符串替换后的结果
这是一个字符串正则操作,Nuva 语言采用 Perl 兼容的正则表达式
选项是可选的,采用单个字符表示选项,如下:
i:IgnoreCase
m:MultiLine
s:SingleLine
x:IgnorePatternWhitespace
本例中用到的正则操作是为了格式化时间字符串
3、本例用到了文件的操作,如 GetTime:
GetTime(文件名),返回该文件的最后修改时间
【扩展】
本例可以进一步扩展以增强其实用性,比如可以更改查找的目录和文件后缀,以识别不同的文件,或者进一步提取更多的信息,进而能够做出更多的功能。
..>
相关文章推荐
- Nuva 示例代码(每日一帖)之 生成网站地图
- Nuva 示例代码(每日一帖)之 添加版权信息
- Nuva 示例代码(每日一帖)之 正则表达式(1)
- Nuva 示例代码(每日一帖)之 正则表达式(3)
- Nuva 示例代码(每日一帖)之 模板示例(3)
- Nuva 示例代码(每日一帖)之 异常处理
- Nuva 示例代码(每日一帖)之 数据架构提取
- Nuva 示例代码(每日一帖)之 正则表达式(3)
- Nuva 示例代码(每日一帖)之 简单浏览器
- Nuva 示例代码(每日一帖)之 正则表达式(2)
- Nuva 示例代码(每日一帖)之 正则表达式(2)
- Nuva 示例代码(每日一帖)之 模板示例(1)
- Nuva 示例代码(每日一帖)之 正则表达式(1)
- Nuva 示例代码(每日一帖)之 模板示例(1)
- Nuva 示例代码(每日一帖)之 模板示例(2)
- Nuva 示例代码(每日一帖)之 源代码统计
- Nuva 示例代码(每日一帖)之 正则表达式(递归)
- Nuva 示例代码(每日一帖)之 正则测试器
- Nuva 示例代码(每日一帖)之 国际化界面
- Nuva 示例代码(每日一帖)之 模板示例(2)