我想提取属性的值" value"使用id标记。
我的代码:
from u in DataContext.Users
where u.Division == strUserDiv
&& u.Age != null ? u.Age > 18 : 1== 1
&& u.Height != null ? u.Height > 18 : 1== 1
&& u.Height != null ? u.Height > 18 : 1== 1
select new DTO_UserMaster
{
Prop1 = u.Name,
}).ToList();
我想要属性" value" - > "这个":
<?php
$url = 'http://turni.tt-contact.com/Default.aspx';
$contents = htmlentities(file_get_contents($url));
echo $contents."\n"; //html
$dom = new DOMDocument;
$dom->validateOnParse = true;
$dom->loadHTML($contents);
$dom->preserveWhiteSpace = false;
$data = $dom->getElementById("__VIEWSTATE");
echo $data->nodeValue;
?>
但代码只返回html代码。
我需要改变什么?
还可以将其修改为:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="THIS">
我收到此错误:
$xpath = new DOMXpath($dom);
$data = $xpath->query('//input[@id="__VIEWSTATE"]');
$node = $data->item(0);
echo $node->getAttribute('value');
答案 0 :(得分:2)
试试这个:
$data->getAttribute('value');
$attrs = array();
for ($i = 0; $i < $data->attributes->length; ++$i){
$node = $data->attributes->item($i);
$attrs[$node->nodeName] = $node->nodeValue;
}
var_dump($attrs);
答案 1 :(得分:0)
请勿使用htmlentities
,因为它会将文档的HTML代码从<html>
更改为<html>
,您的文档将不再是HTML ,只是一个充满<
和>
的纯文本,因此获取节点的方法无法工作。