java添加 xml节点 加回车_xml文件添加新节点时没有缩进和换行的解决方案

使用from lxml import etree

不要使用from xml.etree.ElementTree import ElementTree,Element

注意一定要使用parser = etree.XMLParser(remove_blank_text=True)这个参数。

代码:

parser = etree.XMLParser(remove_blank_text=True)#

root=etree.parse('annotation/' + basename + '_' + str(x) + '_' + str(y) + '.xml',parser)#第一个参数是已经存在的文件

add_pic_attr(root, "pos", int(x_), int(y_), int(x_w), int(y_h))#向文件中添加节点的函数,后面5个参数是节点的信息

tree = etree.ElementTree(root.getroot())

tree.write('annotation/' + basename + '_' + str(x) + '_' + str(y) + '.xml',pretty_print=True, xml_declaration=False, encoding='utf-8')

#向文件中添加节点的函数,后面5个参数是节点的信息

def add_pic_attr(root,label,xmin,ymin,xmax,ymax):

object = etree.Element("object")

namen = etree.SubElement(object,"name")

namen.text = label

object.append(namen)

pose = etree.SubElement(object,"pose")

pose.text = str(0)

object.append(pose)

truncated = etree.SubElement(object,"truncated")

truncated.text = str(0)

object.append(truncated)

difficult = etree.SubElement(object,"difficult")

difficult.text = str(0)

object.append(difficult)

bndbox = etree.SubElement(object,"bndbox")

xminn = etree.SubElement(bndbox,"xmin")

xminn.text = str(xmin)

bndbox.append(xminn)

yminn = etree.SubElement(bndbox,"ymin")

yminn.text = str(ymin)

bndbox.append(yminn)

xmaxn = etree.SubElement(bndbox,"xmax")

xmaxn.text = str(xmax)

bndbox.append(xmaxn)

ymaxn = etree.SubElement(bndbox,"ymax")

ymaxn.text = str(ymax)

root.getroot().append(object)

初始文件

VOC2007

T2019_4_18_30.jpg

PASCAL VOC2007

Unknown

flickr

919

878

3

pos

0

0

0

1

336

96

504

添加节点之后的文件,红色节点是添加节点之后的结果

VOC2007

T2019_4_18_30.jpg

PASCAL VOC2007

Unknown

flickr

919

878

3

pos

0

0

0

1

336

96

504

pos

0

0

0

806

59

918

274

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值