python - 如何判断数据是否有效

标签 python xml

我正在使用 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/

相关文章:

xml - XQuery 中的通配符对应于 SQL 中的 [where LIKE '%.mp3' ]

python - 如何创建一个对单词进行标记和词干处理的函数

python - Django JSON反序列化安全

python - 粒子群中的粒子位置未正确参数化

c# - 解析 XML 文件中的两条连续记录

android - 从android框架覆盖布局xml

html - 如何使用 XSLT 生成 HTML 表单?

python 错误的数字 ssl

python - Django 和文档文件中的测试

php - 在 Magento 的管理模块中显示模板