0
我正在使用lxml包(etree)採用xml模式並使用代碼對xml文件進行解析。使用lxml xml模式驗證打印回溯
from lxml import etree
import traceback
schema_file = 'C:/Users/Romi/Desktop/XML Testing/schema.xsd'
def validate(xmlparser, xmlfilename):
try:
with open(xmlfilename, 'r') as f:
etree.fromstring(f.read(), xmlparser)
return True
except:
return False
with open(schema_file, 'r') as f:
schema_root = etree.XML(f.read())
schema = etree.XMLSchema(schema_root)
xmlparser = etree.XMLParser(schema=schema)
filenames = ['C:/Users/Romi/Desktop/XML Testing/feed.xml','C:/Users/Romi/Desktop/XML Testing/feed1.xml' ]
fo = open("C:/Users/Romi/Desktop/XML Testing/result.txt", "r+")
for filename in filenames:
if validate(xmlparser, filename):
print "%s validates with the schema." % filename
#fo.write("%s validates with the schema." % filename)
else:
print "%s doesn't validate with the schema." % filename
#fo.write("%s doesn't validate with the schema." % filename)
我打印錯誤時它不只會驗證,但我想打印一個指向它失敗究竟給錯誤和移動到下一個文件進行驗證整個回溯。
任何指針?
工程就像一個魅力!也會記住你的限制追溯! – Scooby
太棒了!很高興。 –