Я хочу использовать XPATH запрос для получения «Тестирования» только один раз, в следующем test.htmlXPath запрос: только получить значение внука
<html>
<body>
<div class="test1"></div>
<div class="test2">
<div><strong>Testing</strong></div>
</div>
</body>
</html>
Вот код PHP я использовал для извлечения содержимого ,
$uri='test.html';
$doc = new DOMDocument('1.0','utf-8');
$doc->loadHTMLFile($uri);
$xpath= new DOMXPath($doc);
$path="/html/body/div[2]//*";
$elements = $xpath->query($path);
if(!is_null($elements)){
foreach($elements as $element){
echo '<br>['.$element->nodeName.']';
$nodes = $element->childNodes;
foreach($nodes as $node){
$nodeValue=$node->nodeValue;
echo $nodeValue;
}
}
}
Вот результат, который я получил.
Почему он печатает «Тестирование» даже в узле [div]? Я хочу, чтобы он только извлекал «Тестирование», когда он находится в [сильном] узле.
Поскольку внук будет '/./.,' '// * == любого ребенка на любой глубине. – Wrikken