如何在像system这样的文件夹中显示XML文件

时间:2010-12-16 22:25:59

标签: python html xml

我已经搜索了很多关于这方面的帮助但是关于XML和Python的大多数信息都是关于如何读取和解析文件,而不是如何编写它们。我目前有一个脚本将文件夹的文件系统输出为XML文件,但我希望这个文件包含可以在网上阅读的HTML标签。

另外,我正在寻找XML信息的图形文件夹样式显示。我已经看到这在javascript中解决但我没有任何javascript经验所以这可能在python中?

import os
import sys
from xml.sax.saxutils import quoteattr as xml_quoteattr

dirname = sys.argv[1]
a = open("output2.xml", "w") 

def DirAsLessXML(path):
    result = '<dir name = %s>\n' % xml_quoteattr(os.path.basename(path))
    for item in os.listdir(path):
        itempath = os.path.join(path, item)
        if os.path.isdir(itempath):
            result += '\n'.join('  ' + line for line in 
                DirAsLessXML(os.path.join(path, item)).split('\n'))
        elif os.path.isfile(itempath):
            result += '  <file name=%s />\n' % xml_quoteattr(item)
    result += '</dir>'
    return result

if __name__ == '__main__':

    a.write('<structure>\n' + DirAsLessXML(dirname))

1 个答案:

答案 0 :(得分:2)

通常,通过构建字符串来直接在Python中编写HTML并不是一个好主意。如果在一个月左右的时间内查看代码,您将无法理解所生成的HTML类型。我建议您使用templating engine

或者,当您从XML转换为XML时,XSLT(XML转换语言)似乎是一个很好的解决方案。

关于JavaScript,如果您需要交互式文件夹视图,则需要它。但这不会影响如何生成HTML页面。无论您使用何种方法,只需在HTML标头中添加一个脚本包含标记,然后在额外的文件中实现JavaScript部分(当然,您包含的文件)。