# HG changeset patch # User Matti Hamalainen # Date 1620638650 -10800 # Node ID 7ce08dea935b35cee4b1223364034bdf03985b0b # Parent e6a7726ea1e5bf47baba1b59fe778e05155acece Special case handling for Example elements. diff -r e6a7726ea1e5 -r 7ce08dea935b lxmldump.py --- a/lxmldump.py Mon May 03 13:39:25 2021 +0300 +++ b/lxmldump.py Mon May 10 12:24:10 2021 +0300 @@ -112,15 +112,24 @@ ### Main ### def pkk_recursive_dump(lnode, indent): - stmp = "" - if lnode.text != None: - tmp = str(lnode.text).strip() - if tmp != "": - stmp = " \""+ tmp +"\"" + if lnode.tag == "Example": + stmp = "".join(lnode.itertext()).strip() + print("{}{} \"{}\"".format(" " * indent, lnode.tag, stmp)) + else: + stmp = "" + if lnode.text != None: + tmp = str(lnode.text).strip() + if tmp != "": + stmp = " \""+ tmp +"\"" - print("{}{} {}{}".format(" " * indent, lnode.tag, lnode.attrib, stmp)) - for qnode in lnode.findall("./*"): - pkk_recursive_dump(qnode, indent + 1) + if len(lnode.attrib) > 0: + atmp = " "+str(lnode.attrib) + else: + atmp = "" + + print("{}{}{}{}".format(" " * indent, lnode.tag, atmp, stmp)) + for qnode in lnode.findall("./*"): + pkk_recursive_dump(qnode, indent + 1) for filename in pkk_filenames: