使用Python解析目录中所有文件的XML标记值
尽管之前存在类似的问题,但我还是不能完全做到这一点。帮助是值得的使用Python解析目录中所有文件的XML标记值,python,xml,python-2.7,xml-parsing,Python,Xml,Python 2.7,Xml Parsing,尽管之前存在类似的问题,但我还是不能完全做到这一点。帮助是值得的 我正在尝试递归解析目录/子目录中的所有xml文件 我正在查找标记“操作员id”显示的值 示例源XML: <Operators> <Operator id="OId_LD"> <OperatorCode>LD</OperatorCode> <OperatorShortName>ARRIVA THE SHIRES LIMIT</OperatorSh
- 我正在尝试递归解析目录/子目录中的所有xml文件
- 我正在查找标记“操作员id”显示的值
<Operators>
<Operator id="OId_LD">
<OperatorCode>LD</OperatorCode>
<OperatorShortName>ARRIVA THE SHIRES LIMIT</OperatorShortName>
这是我正在运行的终端命令:
python -c "execfile('xml_tag.py'); jarv('/Users/admin/Projects/AtoB_GTFS')"
这就是我收到的错误:
tfl_64-31_-37434-y05.xml
encodings.xml
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "xml_tag.py", line 8, in jarv
dom=parse(targetfile)
File "/usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/dom/minidom.py", line 1918, in parse
return expatbuilder.parse(file)
File "/usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/dom/expatbuilder.py", line 922, in parse
fp = open(file, 'rb')
IOError: [Errno 2] No such file or directory: 'encodings.xml'
(frigo)andytmac:AtoB_GTFS admin$ python -c "execfile('xml_tag.py'); jarv('/Users/admin/Projects/AtoB_GTFS')"
tfl_64-31_-37434-y05.xml
encodings.xml
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“xml_tag.py”,第8行,jarv格式
dom=parse(targetfile)
文件“/usr/local/ceral/python/2.7.8_1/Frameworks/python.framework/Versions/2.7/lib/python2.7/xml/dom/minidom.py”,第1918行,在parse中
返回expatbuilder.parse(文件)
文件“/usr/local/ceral/python/2.7.8_1/Frameworks/python.framework/Versions/2.7/lib/python2.7/xml/dom/expatbuilder.py”,第922行,在parse中
fp=打开(文件“rb”)
IOError:[Errno 2]没有这样的文件或目录:“encodings.xml”
(frigo)andytmac:AtoB_GTFS admin$python-c“execfile('xml_tag.py');jarv('/Users/admin/Projects/AtoB_GTFS')”
tfl_64-31_-37434-y05.xml
如果我在“打印目标文件”行之后注释掉代码,它会列出我拥有的所有xml文件
谢谢你的帮助
Andy您没有看到正确的位置(相对路径):当您对os.walk(目标文件夹)中的根目录、目录和文件使用
时,文件是目录根目录中的文件名列表,而不是其绝对路径
通过dom=parse(os.sep.join(root,targetfile))
encodings.xml
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "xml_tag.py", line 8, in jarv
dom=parse(targetfile)
File "/usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/dom/minidom.py", line 1918, in parse
return expatbuilder.parse(file)
File "/usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/dom/expatbuilder.py", line 922, in parse
fp = open(file, 'rb')
IOError: [Errno 2] No such file or directory: 'encodings.xml'
(frigo)andytmac:AtoB_GTFS admin$ python -c "execfile('xml_tag.py'); jarv('/Users/admin/Projects/AtoB_GTFS')"
tfl_64-31_-37434-y05.xml