我必须添加一个新行,如
<?xml version="1.0" encoding="UTF-8"?>
<dblogs
xmlns="http://url/xml/ns/dblogs"
xmlns:xsi="http://url/2001/XMLSchema-instance"
xmlns:pro="http://url/xml/ns/dblogs/ns/pro"
xsi:schemaLocation="http://url/xml/ns/dblogs >
<changeSet author="user_id" id="v3.0.0">
<tagDatabase tag="release/v3.0.0" />
</changeSet>
<include file="./file_one.xml" />
<include file="./file_two.xml" />
</dblogs>
尝试了以下代码,它打印附加值,但实际上并未附加到文件。
import xml.etree.ElementTree as ET
tree = ET.parse('pqr.xml')
root = tree.getroot()
b = ET.SubElement(root, 'include')
b.text = './dml/release/v3.0.0/abc_changelog.xml'
print ET.tostring(root)
您在以下行中缺少结束语“:
xsi:schemaLocation="http://url/xml/ns/dblogs >
添加此代码时,您的代码对我有用,输出如下:
b'<ns0:dblogs xmlns:ns0="http://url/xml/ns/dblogs" xmlns:ns1="http://url/2001/XMLSchema-instance" ns1:schemaLocation="http://url/xml/ns/dblogs">\n\n <ns0:changeSet author="user_id" id="v3.0.0">\n\n <ns0:tagDatabase tag="release/v3.0.0" />\n\n </ns0:changeSet>\n\n <ns0:include file="./file_one.xml" />\n\n <ns0:include file="./file_two.xml" />\n\n<include>./dml/release/v3.0.0/abc_changelog.xml</include></ns0:dblogs
请注意,在您的代码中,标签添加为:
<include>./dml/release/v3.0.0/abc_changelog.xml</include>
为了使其以与其他元素相同的方式显示,您还希望包含命名空间(在 Python 中使用 ElementTree 发出命名空间规范)和文件参数(如何向 ElementTree 中的 SubElement 添加属性 (Python))