0

我的xml文件是这样的

<S_Row>
     <S_Cell><S_CellBody></S_CellBody></S_Cell>
     <S_Cell><S_CellBody></S_CellBody></S_Cell>
     <S_Cell><S_CellBody></S_CellBody></S_Cell>
</S_Row>

我在 python 中处理它是这样的:

for i, S_Cell in enumerate(S_Row.findall('S_Cell')):
        for S_CellBody in S_Cell.getchildren():
           if i==0:
              S_CellBody.text="ABC"

这给了我在 xml 文件中这样的输出:

  <S_Row>
     <S_Cell><S_CellBody>ABC</S_CellBody></S_Cell>
     <S_Cell><S_CellBody></S_CellBody></S_Cell>
     <S_Cell><S_CellBody></S_CellBody></S_Cell>
   </S_Row>

现在,如果我想添加另一行并在第二行(第一列)中添加元素,如下所示:

   <S_Row>
     <S_Cell><S_CellBody>ABC</S_CellBody></S_Cell>
     <S_Cell><S_CellBody></S_CellBody></S_Cell>
     <S_Cell><S_CellBody></S_CellBody></S_Cell>
   </S_Row>

   <S_Row>
     <S_Cell><S_CellBody>DEF</S_CellBody></S_Cell>
     <S_Cell><S_CellBody></S_CellBody></S_Cell>
     <S_Cell><S_CellBody></S_CellBody></S_Cell>
   </S_Row>

我应该怎么办?

4

1 回答 1

0

考虑一个作为 XMLstring

import cElementTree    
a1=cElementTree.fromstring(a)
strlst=['ABC','DEF','GHI']
for i,row in enumerate(a1.findall('S_Row')):    
    cb = row.getchildren()[0].getchildren()[0]
    cb.text = strlst[i+1]         
cElementTree.tostring(a1)
于 2013-04-23T09:09:35.243 回答