我正在开发一个 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 文件,我将非常感激。任何提示、建议或指导都会非常有帮助。
非常感谢您的宝贵时间!
你没有解释,你喜欢解析什么或者你喜欢对内容做什么?
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)