Python,检查XML标记中是否存在字符串

时间:2017-12-28 12:06:39

标签: python xml

我正在尝试从文本文件中读取一个单词并检查该单词是否存在于xml标记中,另外该文件包含特殊字符。 这是代码:

import lxml.objectify
from lxml import etree
import codecs
import xml.etree.cElementTree as ET
file_path = "C:\Users\HP\Downloads\Morphalou-2.0.xml"
for event, elem in ET.iterparse(file_path, events=("start", "end")):
    if elem.tag == 'orthography' and event =='start':
        data = elem.text
        f = codecs.open ('test.txt', encoding="ISO-8859-1")
        for line in f:
            check = line
            if check in data:
                print (check,":", "true")
                break
        else:
                print (check,":", "false")
                break
    elem.clear()

当我选择print (check)时,这个词看起来就像是我想要的“garçon”,但当我添加测试时

     if check in data:
                print (check,":", "true")
                break
        else:
                print (check,":", "false")
                break

这就是我得到的:

(u'gar\xe7on', ':', 'false')

认为结果必须是真的!!我错过了什么,有谁知道它是什么,请帮忙!提前谢谢。

1 个答案:

答案 0 :(得分:0)

为什么要像这样打印?

print (a,b,c)

如果您只想将输出格式化为:true,请尝试这样做:

print "%s:true" % check

因为Python认为你正在打印一个元组。

这是样本: