使用元素树在 xml 中的子元素之后附加同级元素
Appending a sibling element after a child element in xml using Element Tree
我使用 Elementtree 创建了一个元素。我想在用户名之后附加此元素。
我找到了我想要的用户名,但无法在该用户名后添加元素。
我的代码:
import xml.etree.ElementTree as ET
root = ET.parse("sample.xml")
feature_list = ET.Element('FeatureList')
for f in range(0,5):
ele = ET.SubElement(feature_list, 'FeatureDetail')
sub_ele = ET.SubElement(ele, 'FeatureId')
sub_ele.text = str(f)
for UserName in root.findall('.//UserName'):
if(UserName.text == 'john@abc.com'):
Sibling= Sibling.UserName
Sibling.append(feature_list)
Elementtree 中没有命令兄弟。如何在我找到的用户名后添加元素。提前致谢。我只想在元素树中解决方案而不是在 lxml 中。
您没有 sibling 方法,在 lxml
中是正确的。但是您可以使用 addnext
和 addprevious
等选项。
试试这个:
for UserName in root.findall('.//UserName'):
if(UserName.text == 'john@abc.com'):
UserName.addnext(feature_list )
我使用 Elementtree 创建了一个元素。我想在用户名之后附加此元素。 我找到了我想要的用户名,但无法在该用户名后添加元素。
我的代码:
import xml.etree.ElementTree as ET
root = ET.parse("sample.xml")
feature_list = ET.Element('FeatureList')
for f in range(0,5):
ele = ET.SubElement(feature_list, 'FeatureDetail')
sub_ele = ET.SubElement(ele, 'FeatureId')
sub_ele.text = str(f)
for UserName in root.findall('.//UserName'):
if(UserName.text == 'john@abc.com'):
Sibling= Sibling.UserName
Sibling.append(feature_list)
Elementtree 中没有命令兄弟。如何在我找到的用户名后添加元素。提前致谢。我只想在元素树中解决方案而不是在 lxml 中。
您没有 sibling 方法,在 lxml
中是正确的。但是您可以使用 addnext
和 addprevious
等选项。
试试这个:
for UserName in root.findall('.//UserName'):
if(UserName.text == 'john@abc.com'):
UserName.addnext(feature_list )