2009-10-05 72 views

回答

3

这应该解释一下:

xml_set_character_data_handler ($parser, 'tagContent'); 

function tagContent ($parser, $content) 
{ 
} 
+0

http://us.php.net/manual/en/function.xml-set-character-data-handler.php – 2009-10-05 16:34:51

1

,除非你知道自己在做什么,否则不要使用PHP的XML解析器 - 这是一个SAX解析器,这就需要你了解SAX事件的想法。除非需要非常快地处理非常大的XML文件,否则不需要它。对于99%的情况,你不需要使用它。根据您的问题,您只需打开一个XML文件并搜索特定标签并提取该标签中包含的字符串即可。为此,您应该使用DOM或SimpleXML分析器。 SimpleXML允许您使用XPath - 请参阅this example code,它大致上是您想要的。 (如果你想使用DOM,你必须在PHP站点上查找它 - 我不能发布超链接,因为我是一个新手 - 只是要小心,不要将它与旧的PHP4 XML解析器DOMXML混淆。)

如果我看错这一点,你真的想学习如何使用SAX解析,谷歌将帮助 - 但基本原理是这样的:你的代码将被处理的完整文档视为一系列的事件。每个事件都会在文档中表示一些东西 - 从文档的开始处开始,然后打开和关闭每个元素,解析每个属性,并解析每个字符串。你需要有代码来监听你感兴趣的事件 - 当一个元素被打开和关闭时 - 然后从中看到正在打开的元素是否是你想要的元素 - 如果是,那么你需要告诉处理文本的事件处理程序,它现在应该监听文本,并将要查找的任何文本存储到变量中。当你完成后,你可以关闭流,并做任何你想做的文字。

再一次,基于这个问题,听起来像你需要DOM或SimpleXML而不是SAX。

相关问题