Я пытаюсь открыть каталог, содержащий серию XML-файлов в одном конкретном каталоге.
В следующем коде я перебираю каждый XML-документ и задаю некоторые «операторы if» для чтениятекст в XML, найдите ключевые слова и замените их, а затем запишите новый файл в новом месте.
При запуске сценария появляется следующая ошибка:
Traceback info:
File "Z:\ESRI\Python\Test Scripts\ElementTree6.py", line 62, in <module>
if "%begdate%" in element.text:
...
Информация об ошибке:
argument of type 'NoneType' is not iterable
Я жестко закодировал каталог в один конкретный XML, и когда я запускаю операторы if, они работают нормально.
Именно когда я пытаюсь настроить итерацию серии XML, я запускаюв ошибку.
Я искал на этом сайте, чтобы посмотреть, смогу ли я найти решение, но все проблемы либо отличаются от моих, либо я не совсем понимаю обходной путь.
Я использовалколичество строк для проверки выходных данных.
Все работает нормально, пока я не получу оператор if, и тогда возникнет ошибка.
# Location of XML's
folderPath = r"Z:\data"
# set variable to store files with extension ".xml"
for filename in glob.glob(os.path.join(folderPath, "*.xml")):
fullpath = os.path.join(folderPath, filename)
# find files and split the filename from the directory path
if os.path.isfile(fullpath):
basename, filename2 = os.path.split(fullpath)
#print "Basename = " + basename
#print "Filename = " + filename2
# set variable to store XML structure from xml file
root = ElementTree(file=r"Z:\data\\" + filename2)
#Create an iterator
iter = root.getiterator()
#Iterate
for element in iter:
#print element.text
if "%begdate%" in element.text:
BEGDATE = element.text.replace("%begdate%", BEGDATEPARAM)
element.text = BEGDATE