这是我的 reg.xml 文件:-
<childrens>
<child_4 entity_id="4" value="Activities" parent_id="2">
<child_10066 entity_id="10066" value="Physical1" parent_id="4">
<child_10067 entity_id="10067" value="Cricket" parent_id="10066">
<child_10068 entity_id="10068" value="One Day" parent_id="10067"/>
</child_10067>
</child_10066>
</child_4>
<child_4331 entity_id="4331" value="Region" parent_id="2">
<child_5069 entity_id="5069" value="Rajkot" parent_id="4331"/>
</child_4331>
</childrens>
这是我的 product.xml:-
<products>
<product_id value="1">
<tab_id value="351">
<tab_name value="test1"/>
<region_timezone value="1"/>
<registrationstatus value="2"/>
<eventstatus value="2"/>
<dist_activity value="5"/>
<dist_activity value="10068"/>
<dist_activity value="10070"/>
<dist_region value="5069"/>
<dist_region value="5069"/>
<dist_region value="5069"/>
</tab_id>
</product_id>
<product_id value="2">
<tab_id value="352">
<tab_name value="test2"/>
<region_timezone value="1"/>
<registrationstatus value="2"/>
<eventstatus value="2"/>
<dist_activity value="5"/>
<dist_activity value="10069"/>
<dist_activity value="10070"/>
<dist_region value="4457"/>
<dist_region value="7140"/>
<dist_region value="5069"/>
</tab_id>
</product_id>
</products>
试过: -
<?php
$abc= "One Day in Rajkot";
list($first,$second) = explode(' in ',$abc);
$text1[]=$first;
$text2[]=$second;
foreach($text1 as $event)
{
$event;
}
foreach($text2 as $region1)
{
$region1;
}
$r = file_get_contents('reg.xml');
$p = file_get_contents('product.xml');
$region = simplexml_load_string($r);
$product = simplexml_load_string($p);
list($entity) = $region->xpath("//*[@value='$event']/@entity_id");
$entity=(string)$entity;
list($entity1) = $region->xpath("//*[@value='$region1']/@entity_id");
$entity1=(string)$entity1;
//check the $entity in product.xml
list($prid) = $product->xpath("//*[@value='$entity']/ancestor::product_id/@value");
$prid=(string)$prid;
echo "Event:- $event, Region:- $region1, entity1:- $entity, entity2:- $entity1, Product_id:- $prid";
?>
我尝试在数组中传递一个字符串并拆分为差异。reg.xml
如果 reg.xml 具有此值,则检查数组和此值然后到达那里entity_id
此 id 匹配product.xml
然后product_id
从返回product.xml
我的代码工作正常,但我想将两个 xpath 合二为一
list($entity) = $region->xpath("//*[@value='$event']/@entity_id");
$entity=(string)$entity;
list($entity1) = $region->xpath("//*[@value='$region1']/@entity_id");
$entity1=(string)$entity1;
我想将这条路径设置为一个我尝试这样的事情:-
list($entity,$entity1) = $region->xpath("//*[@value='$event']and[@value='$region1']/@entity_id");
$entity=(string)$entity;
这个你能帮我吗...