提问人:Francis Bacon 提问时间:10/13/2022 最后编辑:Francis Bacon 更新时间:10/14/2022 访问量:129
Python:LXML - 如何将特定标签下的元素添加到现有元素树中
Python:LXML - How to add an element under a specific tag to an existing element tree
问:
我使用以下代码尝试将元素附加到 tag 下。resources
parser = Et.XMLParser(strip_cdata=False)
xml_tree = Et.parse(destination_xml_file_full_path, parser=parser)
xml_tree_root_element = xml_tree.getroot()
string_element = Et.Element('string')
string_element.set('name', string_id)
string_element.text = ''
xml_tree_root_element.append(string_element)
# Write the modified xml file.
xml_tree.write(destination_xml_file_full_path, encoding='UTF-8', xml_declaration=False, pretty_print=True)
预期:
<resources>
<string name="cbp_payment_successful">Payment Successful</string>
...
<string name="string id"></string> // wanna to add this line of code
</resources>
实际:
<resources>
<string name="cbp_payment_successful">Payment Successful</string>
...
<string name="string id"></string> // wanna to add this line of code</resources>
我已经知道我可以使用 Android Studio 格式化来实现这一点,但是有没有更好的方法可以仅使用 Python 来实现它?
想法 1:
找到 resources 标签并在标签下附加一个元素,但是否有任何 API 可以做到这一点?
想法 2:
找到最后一个 String 元素,获取 String 元素的根,然后使用 Insert
答: 暂无答案
评论
pretty_print=True
remove_blank_text
xml_tree.write(destination_xml_file_full_path, encoding='UTF-8', xml_declaration=False, pretty_print=True)
remove_blank_text