我正在使用 XML 数据进行硬件分配,但我不确定如何判断 XML 是否有效。这是我到目前为止的代码。我想我应该解析 XML,但对如何验证它感到困惑。
//XML Data Sets:
http://aiweb.cs.washington.edu/research/projects/xmltk/xmldata/www/repository.html
//standard includes
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import os
%matplotlib inline
//import the lxml parser
from lxml import etree
dtd = etree.DTD('ebay.dtd')
ebay = etree.parse('ebay.xml')
最佳答案
lxml
当要求解析格式错误的 XML 时,将抛出异常 lxml.etree.XMLSyntaxError
。
所以你可以这样处理:
xml_fname = 'ebay.xml'
try:
ebay = etree.parse(xml_fname)
except etree.XMLSyntaxError:
print "Failed to parse an invalid XML: " + xml_fname
如果您想根据 DTD 进行验证:
xml = etree.XML(etree.tostring(ebay))
print(dtd.validate(xml))
关于python - 如何判断数据是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49033919/