這是一種附加到較早的問題asking the same things for the text values in an XML node。如果沒有找到屬性,如何讓XPath在Python中返回'None'?
lxml可以通過XPath(例如//book/*
)在參考示例中測試標記的存在。 有了這個,我可以測試節點的存在並返回None
(如果它不存在)並返回文本值(如果存在)。
但是,您似乎不能僅以相同的方式測試某個屬性,例如, //book/@author
將直接返回所有書籍中作者屬性值的列表,但沒有None
,只是一個較短的列表。
當沒有給定作者屬性時,是否有辦法找回所有擁有Nones的作者的列表?
or list comprehension:'[book if'author'in book.attrib else else for book in data.xpath('// book/*')]' – LismUK