我需要加载XML文件并将内容转换为面向对象的Python结构.我想接受这个:
<main>
<object1 attr="name">content</object>
</main>
Run Code Online (Sandbox Code Playgroud)
把它变成这样的东西:
main
main.object1 = "content"
main.object1.attr = "name"
Run Code Online (Sandbox Code Playgroud)
XML数据将具有比这更复杂的结构,我不能硬编码元素名称.解析时需要收集属性名称并将其用作对象属性.
如何将XML数据转换为Python对象?
我有一个XML文件,如下所示:
<encspot>
<file>
<Name>some filename.mp3</Name>
<Encoder>Gogo (after 3.0)</Encoder>
<Bitrate>131</Bitrate>
<Mode>joint stereo</Mode>
<Length>00:02:43</Length>
<Size>5,236,644</Size>
<Frame>no</Frame>
<Quality>good</Quality>
<Freq.>44100</Freq.>
<Frames>6255</Frames>
..... and so forth ......
</file>
<file>....</file>
</encspot>
Run Code Online (Sandbox Code Playgroud)
我想把它读成一个python对象,就像一个字典列表.因为标记是绝对固定的,所以我很想使用正则表达式(我很擅长使用它们).但是,我想我会检查是否有人知道如何在这里轻松避免正则表达式.我对SAX或其他解析没有太多经验,但我愿意学习.
我期待着在没有Python的正则表达式的情况下快速展示如何完成这项工作.谢谢你的帮助!