【问题标题】:How to display a XML file in a folder like system如何在系统等文件夹中显示 XML 文件
【发布时间】:2010-12-16 22:25:59
【问题描述】:

我已经搜索了很多关于这方面的帮助,但是关于 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))

【问题讨论】:

  • 如果它需要在 Web 浏览器中运行,则必须使用 JavaScript。

标签: python html xml


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多