У меня проблемы с использованием cssselect с XHTML (или XML с пространством имен). Хотя в документации сказано, как использовать пространство имен в csselect, я не понимаю этого: пространства имен cssselect
Моя строка ввода XHTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Teststylesheet</title>
<style type="text/css">
/*<![CDATA[*/
ol{margin:0;padding:0}
/*]]>*/
</style>
</head>
<body>
</body>
</html>
Мой скрипт на Python:
parser = etree.XMLParser()
tree = etree.fromstring(xhtmlstring, parser).getroottree()
for style in CSSSelector("style")(tree):
print "HAVE CSS!"
Скрипт python не печатает никаких Have CSS!
. Использование etree.HTMLParser
вместо etree.XMLParser
работает, но я действительно хочу использовать XMLParser и сохранить все (пространство имен, структуру) XHTML.
Кто-нибудь может мне помочь с этой проблемой пространства имен?