读取xml文件中的特定标记,而不使用任何类型的php库或扩展

时间:2011-11-29 20:27:01

标签: php xml xml-parsing

假设我有一个xml文件

如何在不使用任何类型的php库的情况下读取该xml文件中的特定标记(以及该标记中包含的所有值),只需读取直接的PHP文件和字符串搜索。这可能吗?

提前致谢

2 个答案:

答案 0 :(得分:3)

如果您要查找代码X,则可以使用字符串搜索<X></X>。但是:

  • 标签中可能有空格
  • 可能有大写和小写的混合(虽然不区分大小写的搜索会处理)
  • 可能存在嵌套标记(因此第一个<X>不应与第一个</X>配对)
  • 标签可能出现在真实解析器不知道标签的文本中

为什么不能使用图书馆?

答案 1 :(得分:1)

如果您要搜索的标记仅包含简单文本,则可以使用正则表达式。如果您只想要第一次出现:

$matches = array();
$ret = preg_match('/<yourtag>(.*?)<\\/yourtag>/i', file_get_contents('your.xml'), $matches);
if ($ret) { /* Check for $matches[1] */ }

或多次出现:

$matches = array();
$ret = preg_match_all('/<yourtag>(.*?)<\\/yourtag>/i', file_get_contents('your.xml'), $matches);
if ($ret) { /* Check for $matches[1] */ }