0
Follow
0
View

I would like to ask how to implement multiple fields and fields when xml files are constructed in python

deng9947 注册会员
2023-02-28 17:40
< div class = "md_content_show e397 data - v - 3967" = "" >

thank you very much

dai_feng0118 注册会员
2023-02-28 17:40

Write based on Monster groups and GPT:
Use the ElementTree library in Python to construct XML files. Here is a sample code to create the XML structure you provide:


import xml.etree.ElementTree as ET

# 创建register元素
register = ET.Element("register")

# 创建并添加子元素
name = ET.SubElement(register, "name")
name.text = "MCR"

displayName = ET.SubElement(register, "displayName")
displayName.text = "MCR"

description = ET.SubElement(register, "description")
description.text = "Module Control Register"

addressOffset = ET.SubElement(register, "addressOffset")
addressOffset.text = "0x0"

size = ET.SubElement(register, "size")
size.text = "0x20"

access = ET.SubElement(register, "access")
access.text = "read-write"

resetValue = ET.SubElement(register, "resetValue")
resetValue.text = "0x00000000"
fields = ET.SubElement(register, "fields")

# 创建并添加两个field子元素
field1 = ET.SubElement(fields, "field")
name1 = ET.SubElement(field1, "name")
name1.text = "SWRST"

description1 = ET.SubElement(field1, "description")
description1.text = "Software Reset"

bitOffset1 = ET.SubElement(field1, "bitOffset")
bitOffset1.text = "0"

bitWidth1 = ET.SubElement(field1, "bitWidth")
bitWidth1.text = "1"

field2 = ET.SubElement(fields, "field")
name2 = ET.SubElement(field2, "name")
name2.text = "reserved"

description2 = ET.SubElement(field2, "description")
description2.text = "reserved"

bitOffset2 = ET.SubElement(field2, "bitOffset")
bitOffset2.text = "1"

bitWidth2 = ET.SubElement(field2, "bitWidth")
bitWidth2.text = "31"

# 将根元素register转换为字符串并打印
xml_str = ET.tostring(register, encoding="unicode")
print(xml_str)

Output


<register>
  <name>MCRname>
  <displayName>MCRdisplayName>
  <description>Module Control Registerdescription>
  <addressOffset>0x0addressOffset>
  <size>0x20size>
  <access>read-writeaccess>
  <resetValue>0x00000000resetValue>
  <fields>
    <field>
      <name>SWRSTname>
      <description>Software Resetdescription>
      <bitOffset>0bitOffset>
      <bitWidth>1bitWidth>
    field>
    <field>
      <name>reservedname>
      <description>reserveddescription>
      <bitOffset>1bitOffset>
      <bitWidth>31bitWidth>
    field>
  fields>
register>

About the Author

Question Info

Publish Time
2023-02-28 17:40
Update Time
2023-02-28 17:40