제목에 요약되어 있습니다. 클래스 result
을 포함하는 모든 div 태그에 대해 HTML 파일을 쿼리하려고하는데 클래스 grid
이 포함되어 있지 않습니다.PHP xpath에 클래스가 포함되어 있으며 클래스가 포함되어 있지 않습니다.
<div class="result grid">skip this div</div>
<div class="result">grab this one</div>
고마워요!
제목에 요약되어 있습니다. 클래스 result
을 포함하는 모든 div 태그에 대해 HTML 파일을 쿼리하려고하는데 클래스 grid
이 포함되어 있지 않습니다.PHP xpath에 클래스가 포함되어 있으며 클래스가 포함되어 있지 않습니다.
<div class="result grid">skip this div</div>
<div class="result">grab this one</div>
고마워요!
것 :
<?
$doc = new DOMDocument();
$doc->loadHTMLFile('test.html');
$xpath = new DOMXPath($doc);
$nodeList = $xpath->query("//div[contains(@class, 'result') and not(contains(@class, 'grid'))]");
foreach ($nodeList as $node) {
echo $node->nodeName . "\n";
}
?>
이렇게하면 class = "* result"즉 "someResult"와도 일치합니다. 그래서 공간을 연결해야합니다. – crush
코멘트 호감에 감사드립니다. 매우 도움이됩니다. 해결책에 관해서는 이것이 작동 할 것이므로 컴퓨터를 사용하고 코드를 확인한 후에는 신용을 제공 할 것이라고 확신합니다. 하나의 마지막 질문 : 상대적으로 새로운 프로그래머로서, 내 솔루션을 위해 어디로 가야합니까? 나는 SO에 관한 질문을하는 것이 게으름을 피우며 구글이 지저분한 자원을 제공한다고 생각한다. 어떤 충고? 고마워요 다시 들으세요 – Rob
할리 크랩이 저축 했어요 - Cpt 캡 잠금 장치 –
당신의 XPath는이 그것을해야 //div[contains(concat(' ', @class, ' '), ' result ') and not(contains(concat(' ', @class, ' '), ' grid '))]
이 질문에 대한 유일한 정답은 지금까지 –
입니다. 매력처럼 작동합니다. – kovpack
는 XPath 구문이 될 것이다는 ...
//div[not(contains(@class, 'grid'))]
나는 시도하지 않은 대단히 만 // (@class, 'grid')를 포함하지 않으며 div [contains (@class, 'result')] [포함하지 않음 (@class, 'grid')] 하지만 내 구문이 바 빠졌을 때 매우 분명해졌습니다. – Rob