#!/usr/bin/python
# thx: http://d.hatena.ne.jp/rintaromasuda/20061105/1162685944
from xml.dom import minidom, Node
import sys

def scanNode(node, level = 0):
    msg = node.__class__.__name__
    nodemsg = ""
    if node.nodeType == Node.ELEMENT_NODE:
        msg += ", tag: " + node.tagName
        print " " * level * 4, msg
        for i in range(node.attributes.length):
            print " " * level * 4,node.attributes.item(i).nodeName + "=" + node.attributes.item(i).nodeValue
    if node.nodeType == Node.TEXT_NODE:
        msg += " (" + node.wholeText + ")"
        print " " * level * 4, msg
    if node.hasChildNodes:
        for child in node.childNodes:
            scanNode(child, level + 1)

if __name__ == '__main__':
    if len(sys.argv) == 2:
        doc = minidom.parse(sys.argv[1])
        scanNode(doc)

