2011-02-27 26 views
2

嗨 我有网页数据(html转换成xml)由多种形式组成,我想抓住输入标签里面的密码类型(不需要直接的孩子)。考虑存储例如下面的数据变量$ HTML里面使用SimpleXML获取“输入”标签的类型为“密码”的“Form”元素?

<html> 
<body> 

<form> 
<input type="text" name="foo" /> 
</form> 

<form> 
<table> 
<tr> <input type="password" name="pass"/> </tr> 
</table> 
</form> 

</body> 
</html> 

我试图

$loginForm = $html->xpath('//form//input[@type="password"]//../form'); 

但没有成功:(

感谢

+0

什么是你得到了“// //形式输入[@类型=‘密码’]” – emaillenin 2011-02-27 11:17:56

+0

//形式,//用于祖先的后代的关系舰输入,具有值密码指定类型属性。问题是我得到输入元素的类型密码后,我无法返回到最近的表单祖先。 – 2011-02-27 11:23:56

回答

2

试试这个XPath:

//form[descendant::input[@type="password"]] 
+0

再次感谢戈登:) – 2011-02-27 11:42:32

2

另一种选择是

//form//input[@type="password"]/ancestor::form