2010-12-16 41 views
0

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

此外,我正在寻找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)) 
+0

如果需要在Web浏览器中工作,则必须使用JavaScript。 – kindall 2010-12-16 22:29:21

回答

2

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

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

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

相关问题