我使用Python
创建一个XML
文件。
我的代码是:
rough_string = ET.tostring(CanDef, 'utf-8') #CanDef is my main Element
reparsed = minidom.parseString(rough_string)
XmlFile = reparsed.toprettyxml()
我得到的代码是:
<CanDef>
<CanDB>
<Msg CallBack="NULL" Can="0" DLC="3" Dir="tx" ID="273" MsgName="Frm0x111">
<Signal Can="0" Dir="tx" Len="8" Max="1" Min="-1" MsgName="Frm0x111" Offset="1" Pos="1" Reso="127.5" SigName="myCos"/>
<Signal Can="0" Dir="tx" Len="8" Max="1" Min="-1" MsgName="Frm0x111" Offset="1" Pos="2" Reso="127.5" SigName="mySin"/>
<Signal Can="0" Dir="tx" Len="8" Max="255" Min="0" MsgName="Frm0x111" Offset="0" Pos="3" Reso="1" SigName="myAdd"/>
</Msg>
</CanDB>
我想要的是:
<?xml version="1.0"?>
<CanDef>
<CanDB>
<Msg
Can="0"
MsgName="Frm0x111"
ID="273"
Dir="tx"
DLC="3"
CallBack="NULL"
>
<Signal
Can="0"
MsgName="Frm0x111"
Dir="tx"
SigName="MyCos"
Pos="1"
Len="8"
Min="-1"
Max="1"
Offset="1"
Reso="127.5"
/>
<Signal
Can="0"
MsgName="Frm0x111"
Dir="tx"
SigName="MySin"
Pos="2"
Len="8"
Min="-1"
Max="1"
Offset="1"
Reso="127.5"
/>
<Signal
Can="0"
MsgName="Frm0x111"
Dir="tx"
SigName="MyAdd"
Pos="3"
Len="8"
Min="0"
Max="255"
Offset="0"
Reso="1"
/>
</Msg>
</CanDef>
</CanDB>
有没有可能用toprettyxml
得到第二个解?
因为我发现了一些关于indent
和newl
(换行符)的东西,但它看起来像是每次第一个解决方案,即使我更改indent和newl参数。。。你知道吗
致以最诚挚的问候 卡
toprettyxml函数不支持此功能,但您可以使用此函数实现所需的功能:
你会得到你所需要的。你知道吗
如果未设置xml格式,另一个选项是用元素替换属性,例如:
相关问题 更多 >
编程相关推荐