python-xml-拼接

python-xml-拼接

from xml.etree import ElementTree as ET
import xml

def joinXmlElement(**kwargs):
    """
    根据输入的字典数据 生成xmlElement 对象

    :return:
    """
    # subElement = ET.SubElement(element, "Array", attrib={'Qty': f"{len(subData):>04}"}) #


    element = kwargs.get("element", None)
    data = kwargs['data'] # 拼接的数据

    root = kwargs.get("root", {"tag": "Value"})
    # 父节点 Value
    if element is None:
        element = ET.Element(root["tag"], attrib=root.get("attribute", {}))
    for tag, value in data.items():
        # 添加特殊字符,解决重复tag
        tag = tag.replace("#", "")
        attribute, text, child = value.get("attribute", {}),  value.get("text", None), value.get("child", None)
        # #  <tag attribute/>
        # 添加子节点
        subElement = ET.SubElement(element, tag, attrib=attribute)
        # 如果 text 不为空则添加文本
        # #  <tag attribute>text</tag>
        if text is not None:
            subElement.text = text
        # 如果有字节点,则递归调用
        if child is not None:
            joinXmlElement(element=subElement, data=child)
    # 生成xml 文件 方便查看,可注释
    element = ET.ElementTree(element)
    if isinstance(element, ET.ElementTree):
        element.write('result.xml', encoding='utf-8')
    return element



###### 示例
data = {"jenkins.plugins.http__request.HttpRequest": {"attribute":{"plugin": "http_request@1.9.0"}},
"url": {"text": "Test"},
"ignoreSslErrors": {"text": "false"}}
response = joinXmlElement(data=data)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值