Python xml-解析

Python xml-parsing

   <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <gameList>
      <game>
        <desc>In the year 2020, baseball finally evolved. There is no longer conventional professional baseball in 2020.</desc>
       </game>
      <game>
        <desc>3 Count Bout is a one-on-one fighting game.</desc>
        </game>

    </gameList>

我在使用 googletrans 翻译 xml 标签时遇到问题,只有一个标签被翻译并写在新 xml

的所有新标签上
> from googletrans import Translator
translator = Translator()
import xml.etree.ElementTree as ET
tree = ET.parse('gamelist.xml')
root = tree.getroot()

for game in root.findall('game'):
     desc = game.find('desc').text
     translated = translator.translate(desc, dest='it')

for desc in root.iter('desc'):
     new_desc = (translated.text)
     desc.text = (new_desc)
     tree.write('gamelist1.xml')

当我 运行 代码时,只有最后翻译的标签被写入 XML

我不确定你为什么有多个 for 循环,或者你真的想做什么。我的猜测是您想将描述翻译成意大利语。我认为这样的事情可能会奏效:

from googletrans import Translator
import xml.etree.ElementTree as ET

translator = Translator()
tree = ET.parse('gamelist.xml')
root = tree.getroot()

for game in root.findall('game'):
     desc = game.find('desc')
     translated = translator.translate(desc.text, dest='it').text
     desc.text = translated

tree.write('gamelist1.xml')