如何使用 xml_parse_into_struct()
How to use xml_parse_into_struct()
我正在尝试使用 xml_parse_into_struct()
,但它返回错误
我的代码是这样的
$p = xml_parser_create();
if (xml_parse_into_struct($p,$contenido,$vals, $index))
{
print_r($vals);
}
变量内容
$contenido
看起来像这样
<saltest31>
<anuncio1>
<id>12346</id>
<titulo> BD authority</titulo>
<descripcion>Preciosa casa en jardines de las animas, en xalapa veracruz. 550 m2 de terreno la mayoria jardin con arboles frutales, amplias recamaras, cocina, salon de juegos, terraza y palapa CVICA123</descripcion>
<fecha>11/12/2014 10:27:15</fecha>
<municipio>Chalchuapa</municipio>
<moneda>Peso</moneda>
<construccion>500</construccion>
<terreno>550</terreno>
<habitaciones>5</habitaciones>
<banos>4</banos>
<imagenes>
<TOTAL>10</TOTAL>
<IDIMAGE>5567</imagen_url>
<IDIMAGE>5568</imagen_url>
<IDIMAGE>5569</imagen_url>
<IDIMAGE>5570</imagen_url>
<IDIMAGE>5571</imagen_url>
</imagenes>
</anuncio>
</saltest3>
我的问题是 if 语句没有返回 true,知道我哪里出错了
提前致谢
这是因为您的 XML 中有太多不匹配的标签,从顶部 <saltest31>...</saltest3>
开始。这将导致返回 0。
另外xml_parse_into_struct()
returns一个1或一个0,真的不应该被误认为是真假。来自docs,
xml_parse_into_struct() returns 0 for failure and 1 for success. This is not the same as FALSE and TRUE, be careful with operators such as ===.
鉴于此,您应该明确执行测试:
$p = xml_parser_create();
if (xml_parse_into_struct($p,$contenido,$vals, $index) == 1)
{
print_r($vals);
}
我正在尝试使用 xml_parse_into_struct()
,但它返回错误
我的代码是这样的
$p = xml_parser_create();
if (xml_parse_into_struct($p,$contenido,$vals, $index))
{
print_r($vals);
}
变量内容
$contenido
看起来像这样
<saltest31>
<anuncio1>
<id>12346</id>
<titulo> BD authority</titulo>
<descripcion>Preciosa casa en jardines de las animas, en xalapa veracruz. 550 m2 de terreno la mayoria jardin con arboles frutales, amplias recamaras, cocina, salon de juegos, terraza y palapa CVICA123</descripcion>
<fecha>11/12/2014 10:27:15</fecha>
<municipio>Chalchuapa</municipio>
<moneda>Peso</moneda>
<construccion>500</construccion>
<terreno>550</terreno>
<habitaciones>5</habitaciones>
<banos>4</banos>
<imagenes>
<TOTAL>10</TOTAL>
<IDIMAGE>5567</imagen_url>
<IDIMAGE>5568</imagen_url>
<IDIMAGE>5569</imagen_url>
<IDIMAGE>5570</imagen_url>
<IDIMAGE>5571</imagen_url>
</imagenes>
</anuncio>
</saltest3>
我的问题是 if 语句没有返回 true,知道我哪里出错了
提前致谢
这是因为您的 XML 中有太多不匹配的标签,从顶部 <saltest31>...</saltest3>
开始。这将导致返回 0。
另外xml_parse_into_struct()
returns一个1或一个0,真的不应该被误认为是真假。来自docs,
xml_parse_into_struct() returns 0 for failure and 1 for success. This is not the same as FALSE and TRUE, be careful with operators such as ===.
鉴于此,您应该明确执行测试:
$p = xml_parser_create();
if (xml_parse_into_struct($p,$contenido,$vals, $index) == 1)
{
print_r($vals);
}