【发布时间】:2022-01-23 20:03:32
【问题描述】:
我想使用 PHP 将 HTML 文档导入 MySQL 数据库。
文档的结构如下所示:
<p class="word">
<span class="word-text">word1</span>
<span class="grammatical-type">noun</span>
</p>
...
<p class="word">
<span class="word-text">word128</span>
<span class="grammatical-type">adjective</span>
</p>
对于每个word,我只有一个word-text和一个grammatical-type。
我能够找到每个 word 节点,但对于它的每个子节点 word-text 和 grammatical-type 我会喜欢执行 MySQL 查询:
$dom = new DOMDocument();
$dom->loadHTMLFile($location);
$xpath = new DomXPath($dom);
$res = $xpath->query("//p[@class='word']");
foreach ($res as $textNode) {
//do something here for each *word-text*->nodeValue
//do something here for each *grammatical-type*->nodeValue
}
}
我尝试在foreach 循环中将$textNode(这是一个DOMNode)作为$contextNode 传递如下:
$wordText = $xpath->query("span[@class='word-text']", $textNode);
$myWord = $wordText->nodeValue;
但在 $wordText 我只有一个 DOMNodeList 和一个 NULL nodeValue。
如何从word节点开始管理子节点?
谢谢
【问题讨论】: