1

所以我开始在 php 库 (5.5) 中使用 simplexml 解析器 .. 我想我明白发生了什么,但显然没有......所以我有一个看起来像这样的 xml 文件

<?xml version="1.0" encoding="UTF-8" ?>
<Data><Series>
  <Genre>|Animation|Comedy|</Genre>
  <IMDB_ID>tt0096697</IMDB_ID>
  <Language>en</Language>
  <SeriesName>The Simpsons</SeriesName>
  .
  .
  .
</Series>
<Episode>
  .
  .
</Episode>
<Episode>
  .
  .
</Episode>
</Data>
</xml>

现在我开始在情节标签之间抓取东西,一切都很棒......现在我正在尝试<SeriesName>在我的 php 代码中获取 so:

$series = simplexml_load_file('en.xml');
$series_name = $series->SeriesName;

但是这似乎不起作用我也尝试过

$series_name = $series->Data->Series->SeriesName

..这会返回试图获取非对象属性的错误。我看过一些教程,似乎无法理解我做错了什么......我知道啰嗦但我花了一些时间研究但没有运气,任何帮助都会很棒,因为我确信它是愚蠢的东西

4

3 回答 3

1

更改此行:

$series_name = $series->Data->Series->SeriesName;

至:

$series_name = $series->Series->SeriesName;
于 2013-05-27T09:01:38.127 回答
0

使用var_dump($series)print_r($series)查看 SimpleXMLElement 对象的内容。

于 2013-05-27T08:57:59.290 回答
0

使用正则表达式

preg_match_all('%(?<=<SeriesName>).*(?=</SeriesName>)%si', $subject, $result, PREG_PATTERN_ORDER);

$result 将是一个包含您的 SeriesNames 的数组

于 2013-05-27T09:07:07.887 回答