Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取介于<;标签>;在php中</标签>;_Php_Xml_Xml Parsing - Fatal编程技术网

获取介于<;标签>;在php中</标签>;

获取介于<;标签>;在php中</标签>;,php,xml,xml-parsing,Php,Xml,Xml Parsing,目前我正在使用并且已经浏览了这段代码 如何获取标记之间的文本 我正在使用php5和XML解析器这应该可以解释: xml_set_character_data_handler ( $parser, 'tagContent' ); function tagContent ( $parser, $content ) { } 这应该可以解释: xml_set_character_data_handler ( $parser, 'tagContent' ); function tagCo

目前我正在使用并且已经浏览了这段代码 如何获取标记之间的文本


我正在使用php5和XML解析器

这应该可以解释:

 xml_set_character_data_handler ( $parser, 'tagContent' );

 function tagContent ( $parser, $content )
 {
 }

这应该可以解释:

 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解析,Google会有所帮助,但基本理论是:您的代码将整个文档作为一系列事件进行处理。每个事件将表示文档中的某些内容—从文档的开头开始,然后打开和关闭每个元素,解析每个属性,解析每个字符串。你需要有代码来监听你感兴趣的事件-当一个元素被打开和关闭时-然后从中,看看被打开的元素是否是你想要的-如果是,然后,您需要告诉处理文本的事件处理程序,它现在应该侦听文本,并将您要查找的任何文本存储到变量中。完成后,您可以关闭流并对文本执行任何您想执行的操作


同样,基于这个问题,听起来您需要的是DOM或SimpleXML,而不是SAX。

除非您知道自己在做什么,否则不要使用PHP的XML解析器-这是一个SAX解析器,需要您理解SAX事件的概念。除非需要非常快速地处理非常大的XML文件,否则不需要它。99%的情况下,你不需要使用它。根据您的问题,您只需打开一个XML文件,搜索特定的标记并提取该标记中包含的字符串。为此,应该使用DOM或SimpleXML解析器。SimpleXML允许您使用XPath—查看哪些可以满足您的需求。(如果您想使用DOM,您必须在PHP站点上查找它-我不能发布超链接,因为我是一个新手-只是小心不要将它与DOMXML混淆,后者是旧的PHP4 XML解析器。)

如果我误解了这一点,而您确实想学习如何使用SAX解析,Google会有所帮助,但基本理论是:您的代码将整个文档作为一系列事件进行处理。每个事件将表示文档中的某些内容—从文档的开头开始,然后打开和关闭每个元素,解析每个属性,解析每个字符串。你需要有代码来监听你感兴趣的事件-当一个元素被打开和关闭时-然后从中,看看被打开的元素是否是你想要的-如果是,然后,您需要告诉处理文本的事件处理程序,它现在应该侦听文本,并将您要查找的任何文本存储到变量中。完成后,您可以关闭流并对文本执行任何您想执行的操作


同样,基于这个问题,听起来您需要的是DOM或SimpleXML,而不是SAX。

使用什么解析器重要吗?这对于simplexml甚至DOM来说都是轻而易举的事。和-你的标记在哪里?你使用什么解析器重要吗?这对于simplexml甚至DOM来说都是轻而易举的事。你的标记在哪里?