目前我正在使用并查看了这段代码 http://us.php.net/manual/en/function.xml-set-element-handler.php#85970如何获取标签之间的文本?

我正在使用 php5 和 XML 解析器

有帮助吗?

解决方案

此应该解释:

 xml_set_character_data_handler ( $parser, 'tagContent' );

 function tagContent ( $parser, $content )
 {
 }

其他提示

不要使用PHP的XML解析器,除非你知道自己在做什么 - 这是一个SAX解析器,这就需要你理解SAX事件的想法。除非你需要快速处理非常大的XML文件,你不需要它。病例的99%,你并不需要使用它。根据您的问题,目前只开放了一个XML文件,并搜索特定的标签,并提取包含在该标签中的字符串。对于这一点,你应该使用DOM或SimpleXML的解析器。 SimpleXML允许使用XPath - 见此示例代码这确实广泛什么你要。 (如果你想使用DOM,你将不得不寻找它在PHP网站 - 我是一个新手,我不能发布超链接 - 只是要小心,不要与DOMXML这是老PHP4的XML解析器混淆。)

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

再次基于该问题,它听起来像您需要DOM或SimpleXML的不SAX。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top