import xml.dom.minidom
import xlwt
res_en_string = "G:/xml/merged0.xml"
res_cs_string = "G:/xml/merged1.xml"
res_de_string = "G:/xml/merged2.xml"
res_es_string = "G:/xml/merged3.xml"
res_fr_string = "G:/xml/merged4.xml"
res_hu_string = "G:/xml/merged5.xml"
res_it_string = "G:/xml/merged6.xml"
res_ja_string = "G:/xml/merged7.xml"
res_nl_string = "G:/xml/merged8.xml"
res_pt_string = "G:/xml/merged9.xml"
res_ro_string = "G:/xml/merged10.xml"
res_zh_string = "G:/xml/merged11.xml"
res_zh_rTW_string = "G:/xml/merged12.xml"
def get_text(nodelist):
rc = []
for node in nodelist:
if node.nodeType == node.TEXT_NODE:
rc.append(node.data)
return ''.join(rc)
def export_xml():
doc_en = xml.dom.minidom.parse(res_en_string)
doc_cs = xml.dom.minidom.parse(res_cs_string)
doc_de = xml.dom.minidom.parse(res_de_string)
doc_es = xml.dom.minidom.parse(res_es_string)
doc_fr = xml.dom.minidom.parse(res_fr_string)
doc_hu = xml.dom.minidom.parse(res_hu_string)
doc_it = xml.dom.minidom.parse(res_it_string)
doc_ja = xml.dom.minidom.parse(res_ja_string)
doc_nl = xml.dom.minidom.parse(res_nl_string)
doc_pt = xml.dom.minidom.parse(res_pt_string)
doc_ro = xml.dom.minidom.parse(res_ro_string)
doc_zh = xml.dom.minidom.parse(res_zh_string)
doc_zh_r_tw = xml.dom.minidom.parse(res_zh_rTW_string)
strings_en = doc_en.getElementsByTagName('string')
strings_cs = doc_cs.getElementsByTagName('string')
strings_de = doc_de.getElementsByTagName('string')
strings_es = doc_es.getElementsByTagName('string')
strings_fr = doc_fr.getElementsByTagName('string')
strings_hu = doc_hu.getElementsByTagName('string')
strings_it = doc_it.getElementsByTagName('string')
strings_ja = doc_ja.getElementsByTagName('string')
strings_nl = doc_nl.getElementsByTagName('string')
strings_pt = doc_pt.getElementsByTagName('string')
strings_ro = doc_ro.getElementsByTagName('string')
strings_zh = doc_zh.getElementsByTagName('string')
strings_zh_r_tw = doc_zh_r_tw.getElementsByTagName('string')
column_key = 0
column_en = 1
column_cs = 2
column_de = 3
column_es = 4
column_fr = 5
column_hu = 6
column_it = 7
column_ja = 8
column_nl = 9
column_pt = 10
column_ro = 11
column_zh = 12
column_zh_r_tw = 13
wb = xlwt.Workbook(encoding='utf-8')
worksheet = wb.add_sheet('Sheet1', True)
worksheet.write(0, column_key, 'key')
worksheet.write(0, column_en, '英语')
worksheet.write(0, column_cs, '捷克语')
worksheet.write(0, column_de, '德语')
worksheet.write(0, column_es, '西班牙语')
worksheet.write(0, column_fr, '法语')
worksheet.write(0, column_hu, '匈牙利语')
worksheet.write(0, column_it, '意大利语')
worksheet.write(0, column_ja, '日语')
worksheet.write(0, column_nl, '荷兰语')
worksheet.write(0, column_pt, '葡萄牙语')
worksheet.write(0, column_ro, '罗马尼亚语')
worksheet.write(0, column_zh, '简体中文')
worksheet.write(0, column_zh_r_tw, '繁体中文')
line = 1
for string_en in strings_en:
name = string_en.getAttribute('name')
text_en = get_text(string_en.childNodes)
text_cs = ' '
text_de = ' '
text_es = ' '
text_fr = ' '
text_hu = ' '
text_it = ' '
text_ja = ' '
text_nl = ' '
text_pt = ' '
text_ro = ' '
text_zh = ' '
text_zh_r_tw = ' '
for string_cs in strings_cs:
if string_cs.getAttribute('name') == name:
text_cs = get_text(string_cs.childNodes)
break
for string_de in strings_de:
if string_de.getAttribute('name') == name:
text_de = get_text(string_de.childNodes)
break
for string_es in strings_es:
if string_es.getAttribute('name') == name:
text_es = get_text(string_es.childNodes)
break
for string_fr in strings_fr:
if string_fr.getAttribute('name') == name:
text_fr = get_text(string_fr.childNodes)
break
for string_hu in strings_hu:
if string_hu.getAttribute('name') == name:
text_hu = get_text(string_hu.childNodes)
break
for string_it in strings_it:
if string_it.getAttribute('name') == name:
text_it = get_text(string_it.childNodes)
break
for string_ja in strings_ja:
if string_ja.getAttribute('name') == name:
text_ja = get_text(string_ja.childNodes)
break
for string_nl in strings_nl:
if string_nl.getAttribute('name') == name:
text_nl = get_text(string_nl.childNodes)
break
for string_pt in strings_pt:
if string_pt.getAttribute('name') == name:
text_pt = get_text(string_pt.childNodes)
break
for string_ro in strings_ro:
if string_ro.getAttribute('name') == name:
text_ro = get_text(string_ro.childNodes)
break
for string_zh in strings_zh:
if string_zh.getAttribute('name') == name:
text_zh = get_text(string_zh.childNodes)
break
for string_zh_rTW in strings_zh_r_tw:
if string_zh_rTW.getAttribute('name') == name:
text_zh_r_tw = get_text(string_zh_rTW.childNodes)
break
worksheet.write(line, column_key, name)
worksheet.write(line, column_en, text_en)
worksheet.write(line, column_cs, text_cs)
worksheet.write(line, column_de, text_de)
worksheet.write(line, column_es, text_es)
worksheet.write(line, column_fr, text_fr)
worksheet.write(line, column_hu, text_hu)
worksheet.write(line, column_it, text_it)
worksheet.write(line, column_ja, text_ja)
worksheet.write(line, column_nl, text_nl)
worksheet.write(line, column_pt, text_pt)
worksheet.write(line, column_ro, text_ro)
worksheet.write(line, column_zh, text_zh)
worksheet.write(line, column_zh_r_tw, text_zh_r_tw)
line = line + 1
wb.save('多语言翻译集合.xls')
if __name__ == '__main__':
export_xml()