这是我的 xml 文件:-
<products>
<product_id value="1">
<tab_id value="351">
<dist_activity value="10068"/>
<dist_activity value="10070"/>
<individual_strdt value="2013-01-14 20:35:00"/>
</tab_id>
</product_id>
<product_id value="2">
<tab_id value="352">
<dist_activity value="10069"/>
<dist_activity value="10070"/>
<individual_strdt value="2013-02-14 20:39:00"/>
</tab_id>
</product_id>
</products>
这是我的代码:-
<?php
$abc="10068 in 2013-02-14 20:39:00";
list($one,$two)=explode(' in ',$abc);
$text1[]=$one;
$text2[]=$two;
foreach($text1 as $activity)
{
$actvitiy;
}
foreach($text2 as $date)
{
$date;
}
$p = file_get_contents('product.xml');
$product = simplexml_load_string($p);
list($activity_id) = $product->xpath("//dist_activity['$actvitiy'] | //individual_strdt['$date']/ancestor::product_id/@value");
$activity_id = (string) $activity_id;
?>
<script language="javascript">
alert('<?= $activity_id ?>')
</script>
<?php
if (strlen(trim($activity_id))==0)
{
echo $activity.'&'.$date.' Region Not Match';
exit;
} //check the $entity in product.xml
echo "id:- $activity_id";
?>
在这里,我有一个字符串,$abc
我尝试将它们分解in
并存储到两个差异var
中返回如下内容:
$one = 10068
$two = 2013-02-14 20:39:00
尝试检查product.xml
文件
$one 值和<dist_activity>
$two 值,<individual_strdt>
两者都匹配,然后返回父元素属性值,如<product_id>
值1
(一个是输出)
查询:-
现在问题是在 $abc 字符串中,两个值都是差异的。element child value10068
是<product_id>
1
子元素,2013-02-14 20:39:00
是<product_id>
2
子元素。
现在在这种情况下,消息会被打印出来,两个值都不匹配
,但它不能显示 product_id 值1