Html Xpath和CSS解析
是否可以使用xpath来确定以下html文档是否包含:hover或大小为12的元素Html Xpath和CSS解析,html,css,parsing,xpath,Html,Css,Parsing,Xpath,是否可以使用xpath来确定以下html文档是否包含:hover或大小为12的元素 <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <style type="text/css"> a:link{ color:#000; } a:hover{ color:#333; } p{ font-size:12px; } </s
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<style type="text/css">
a:link{
color:#000;
}
a:hover{
color:#333;
}
p{
font-size:12px;
}
</style>
</head>
<body>
<a href="foo.com">some text here</a>
<p>some more text</p>
</body>
</html>
a:链接{
颜色:#000;
}
a:悬停{
颜色:#333;
}
p{
字体大小:12px;
}
更多的文字
感谢您的帮助
Kay您可以对非XML文档使用xpath,CSS也不是XML。所以,如果您的样式不在HTML属性中,您就无法查找样式(除非浏览器将CSS样式转换为DOM属性,否则它可以工作,也许有人会对此发表一些看法)。我的建议是使用regexp提取哪些id/class/tag具有所需的CSS属性,然后在xpath中使用这些属性。然而,对于这一点,您很可能需要多行正则表达式模式(这不是一个大问题,请注意)
事实上,现在我想到了,你们可以使用xpath在样式标签中进行内容搜索,但你们仍然需要解析那个些内容,并且我不认为在没有regexp的情况下你们能成功地完成这项工作,所以我建议在CSS解析步骤中跳过regex。或者只使用xpath收集脚本元素,然后解析它们的内容,这样您就不需要解析所有HTML。您不能在无效的XML文档上使用xpath,而此文档是无效的。但是,您可以使用或类似的方法来解析HTML DOMа并获取样式标记的内容。然后,您必须为CSS进行一些自定义解析,或者寻找这样做的库。我开始认为还需要某种形式的解析,因为xpath用于处理元素、属性等。。。如果bt css不是内联css,那么它真的可以被称为属性。到目前为止,我得到的最接近的链接是://p[@style='font-size:12px'],感谢项目链接看起来非常有用-我可以使用//head//style获取嵌入css的内容,我认为。是的,看来我还是得找个css解析器了。非常感谢:)