python3读写xml(去除ns0、保留注释)⽂章⽬录
读写XML
以下⽤例为修改l中的版本号
我的⽤例
以下例⼦:从l中读取版本前缀,填充到图中标记处。
import sys
ElementTree as ET
import datetime
class CommentedTreeBuilder(ET.TreeBuilder):
def comment(self, data):
self.start(ET.Comment,{})
self.data(data)
parser = ET.XMLParser(target=CommentedTreeBuilder())
def updateVersion(pomPath='l', proPath='l'):
# 获取新version
proV = getProVersion(proPath)
# 注册命名空间
tree = ET.parse(pomPath, parser)# parser参数默认为None,不保留注释,需要⾃定义 root = t()# 第⼀层
for sub in root:
if str(sub.tag).endswith('parent'):
for subChild in sub:
if str(subChild.tag).endswith('version'):
< = proV
break
break
tree.write(pomPath, encoding="utf-8", xml_declaration=True)
# 获取pro中的version
def getProVersion(proPath):
fileName = proPath
tree = ET.parse(fileName)
root = t()# 第⼀层
v =""
for child in root:
if child.tag =='main':
v =
return v
if __name__ =='__main__':
if len(sys.argv)==1:
python处理xml文件updateVersion()
if len(sys.argv)>1:
updateVersion(sys.argv[1])
elif len(sys.argv)>2:
updateVersion(sys.argv[1], sys.argv[2])
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论