Ошибка при многократной проверке XML с использованием lxml в Python - PullRequest
0 голосов
/ 29 мая 2019

Я пишу код на python для проверки XML-файла на XSD с использованием библиотеки lxml.Но когда мой assertValid () запускается, выполнение останавливается при первой ошибке проверки XML в файле.Но мне нужен мой код для продолжения и итерации всего XML-файла, перехвата всех ошибок валидации и его консолидации.

Ниже приведен фрагмент кода, который я написал.

from lxml import etree
import time

def validatexml():

    print("Inside the validatexml Function...!!!")
    input_xml = 'Equipment_new.xml'
    input_xsd = 'Equipment_new.xsd'
    xmlschema_doc = etree.parse(input_xsd)
    xmlschema = etree.XMLSchema(xmlschema_doc)
    log = xmlschema.error_log

    xml_doc = etree.parse(input_xml)
    result = xmlschema.validate(xml_doc)
    if result:
        print("XML File is valid...!!!")
    else:
        print("Invalid XML file...!!!\r\n")
        res = xmlschema.assertValid(xml_doc)
        print(res)

def main(): 
    print("Inside main method...!!!")
    start = time.time()
    print("Now calling the validatexml method...!!!")
    validatexml()
    end = time.time()
    print("Total Execution Time::: %s seconds" %(end - start))
    print("Exiting main method...!!!")

if __name__ == "__main__": 
    main()

Есть ли способ сделать это в Python?Я пытался использовать try / кроме, но это не помогло.Может ли кто-нибудь, пожалуйста, протянуть руку помощи этому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...