向现有父元素添加多个相同的XML子元素

2 投票
2 回答
590 浏览
提问于 2025-04-18 16:35

我想把一个用逗号分隔的列表 [Action, Adventure, Family] 中的每一项,放到一个新的 标签里,这个标签又放在一个 标签里面。

我想要的输出结果是:

<genres>
   <genre>Action</genre>
   <genre>Adventure</genre>
   <genre>Family</genre>
</genres>

我现在的代码没有成功,代码如下:

root = objectify.fromstring(xml)   # genres is an object at this point
.
.
.
for g in self.s.cell(self.r,self.d['Genre']).value.split() :
   root.product.genres.genre = g.rsplit(",")
.
.
.

注意:上面的 for 循环只是覆盖了一个单独的 标签,结果变成了:

<genres>
   <genre>Family</genre>    # last member of the list
</genres>

我还尝试了以下方法,但也没有成功:

for g in self.s.cell(self.r,self.d['Genre']).value.split() :
   genre = objectify.fromstring('<genre />')
   genre = g.rstrip(",")
   root.product.genres.append(genre)

提前感谢你的帮助。

2 个回答

0

谢谢你的回复。我找到了一种不同的方法来实现这个:

for g in self.s.cell(self.r,self.d['Genre']).value.split() :
    genre = et.Element("genre")
    genre.text = g.rstrip(",")
    root.product.genres.append(genre)

撰写回答