我想使用PHP提取XML文檔中特定節點下的所有評論。我已經嘗試了SimpleXML和DOMDocument方法,但我一直得到空白輸出。有沒有辦法從文檔中檢索評論,而不必求助於正則表達式?如何從PHP中的XML文檔中檢索評論
2
A
回答
4
SimpleXML的無法處理的意見,但DOM擴展可以。以下是如何提取所有評論的方法。您只需修改XPath表達式即可定位您想要的節點。
$doc = new DOMDocument;
$doc->loadXML(
'<doc>
<node><!-- First node --></node>
<node><!-- Second node --></node>
</doc>'
);
$xpath = new DOMXPath($doc);
foreach ($xpath->query('//comment()') as $comment)
{
var_dump($comment->textContent);
}
0
如果您使用的是SAX事件驅動解析器,解析器應該有註釋事件。例如,使用Expat時,您可以實施處理程序並將其設置爲:
void XMLCALL
XML_SetCommentHandler(XML_Parser p,
XML_CommentHandler cmnt);
+0
有時候這並不明顯。 Java的SAX DefaultHandler不會爲註釋提供回調。您必須實現一個名爲LiteralHandler的* additional *接口。因此,默認情況下不會發生回覆評論(我不知道其他語言/工具集是否如此工作) –
2
您是否有權訪問XPath API? XPath允許您使用找到評論(例如)
//comment()
0
使用XMLReader。評論可以很容易地檢測/發現,它們是COMMENT類型的xml元素。 詳見PHP documentation: The XMLReader class
代碼示例:
$reader = new XMLReader();
$reader->open('filename.xml');
while ($reader->read()){
if ($reader->nodeType == XMLReader::COMMENT) {
$comments[] = $reader->readOuterXml();
}
}
而在數組$評論你將不得不在XML文件中找到的所有評論。
相關問題
- 1. JavaScript XML評論文檔
- 2. 有什麼辦法從XML文件中檢索評論嗎?
- 3. 如何從XML文檔中檢索HTML塊w/PHP
- 4. 從Reddit的API中檢索評論
- 5. 如何檢索評論IP
- 6. ParseException從Youtube視頻中檢索評論
- 7. 從PHP腳本中檢索Disqus發佈的所有評論
- 8. 在PHP中如何檢索mongoDB文檔的文檔內容?
- 9. 如何從不使用類的PHP腳本中提取文檔評論?
- 10. 如何檢索YouTube視頻的評論
- 11. 我如何檢索我的GitHub評論
- 12. 如何從Facebook羣組中檢索用戶評論和帖子
- 13. 如何從Instagram媒體中檢索評論?
- 14. 檢索在Facebook評論框中的評論數
- 15. 訪問Google文檔中的評論
- 16. PHP我應該寫評論/文檔
- 17. 如何存儲和檢索xml文檔
- 18. 如何檢索評論沒有?
- 19. 從fb:評論部件(Facebook)檢索評論計數
- 20. Facebook - 從fb:評論使用href?檢索評論計數?
- 21. 如何處理LaTeX/PDF文檔評論?
- 22. 如何檢索FQL中的用戶圖像從流中選擇的評論?
- 23. 從常規評論中生成XML評論
- 24. R - 從評論標題中的文檔中提取Rd格式?
- 25. (C#)如何從Word或Excel文件中檢索作者/評論屬性?
- 26. 如何使用Jena API從貓頭鷹文件中檢索評論?
- 27. 使用disqus從網站檢索評論
- 28. 如何通過XML文檔中的PHP
- 29. 檢索xml文檔C#
- 30. 檢索github提交評論
這完全奏效!訣竅是屬性。這是我得到空白輸出的原因。 謝謝喬希。你搖滾 –
Olaseni