在 Python 中从文件路径解析 MusicXML 文件时遇到问题

问题描述 投票:0回答:1

我正在开发一个 Python 项目,我需要解析 MusicXML 文件。到目前为止,我已经手动将这些文件中的内容复制到字符串变量中,并且代码运行良好。但是,我想通过允许脚本接受文件路径来使脚本更加用户友好。

这是我尝试从给定文件路径解析文件的方法:

xml_file_path = r"C:\Users\myfilepath.musicxml"
tree = ET.parse(xml_file_path)
root = tree.getroot()
xml_content = ET.tostring(root, encoding="utf-8").decode("utf-8")

我遇到的问题是,当我使用文件路径运行代码时,它似乎没有按预期工作。我没有收到任何错误消息,但解析结果不是我想要的,而且它们通常看起来不完整。

如果有人能帮助我理解这里可能出了什么问题,或者是否有更好的方法直接从 Python 中的文件路径解析 MusicXML 文件,我将非常感激。任何提示、建议或指导都会非常有帮助。

非常感谢您的宝贵时间!

python xml xml-parsing elementtree musicxml
1个回答
0
投票

你没有解释,你喜欢解析什么或者你喜欢对内容做什么?

import xml.etree.ElementTree as ET
import os 

def xml_parse(filename):
    tree = ET.parse(filename)
    root = tree.getroot()
    
    for elem in root.iter():
        print(elem.tag, elem.attrib, elem.text)



if __name__ == "__main__": 
    for (root,dirs,files) in os.walk('.', topdown=True): # insert the path where you are interessted
        for filename in files:
            if filename.endswith('.xml'):
                print(filename)
                xml_parse(filename)
© www.soinside.com 2019 - 2024. All rights reserved.