Php 无法在xpath中获取数组值
这是我的reg.xml: 这是我的尝试: 这是我的HTML文件: 我在文本框中输入此值: 在Irungattukottai的一天 我已经尝试过这段代码,但它不起作用,也没有给我$entity。 如果我尝试手动设置$event,例如:-$event=One Day值,则可以工作 所以请帮我解决这个问题,我认为我的错误在我的演讲中。Php 无法在xpath中获取数组值,php,xml,arrays,xpath,Php,Xml,Arrays,Xpath,这是我的reg.xml: 这是我的尝试: 这是我的HTML文件: 我在文本框中输入此值: 在Irungattukottai的一天 我已经尝试过这段代码,但它不起作用,也没有给我$entity。 如果我尝试手动设置$event,例如:-$event=One Day值,则可以工作 所以请帮我解决这个问题,我认为我的错误在我的演讲中。 谢谢。foreach代码看起来真的很奇怪-不知道你想在那里做什么。但我认为实际的问题是爆炸,因为它不看单词“in”两边的空格,所以你的一天会以结尾的空格结束,而Irun
谢谢。foreach代码看起来真的很奇怪-不知道你想在那里做什么。但我认为实际的问题是爆炸,因为它不看单词“in”两边的空格,所以你的一天会以结尾的空格结束,而Irungattukottai在开始时会有空格
您可以通过在分解中包含空格或在它生成的两个字符串上使用trim来修复此问题。foreach代码看起来非常奇怪-不确定您在那里尝试做什么。但我认为实际的问题是爆炸,因为它不看单词“in”两边的空格,所以你的一天会以结尾的空格结束,而Irungattukottai在开始时会有空格。您可以通过在分解中包含空格或在其生成的两个字符串上使用修剪来修复此问题。是问题解决…:伟大的我已将其作为答案发布,以便您可以接受:
<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="Irungattukottai" parent_id="4331"/>
</child_4331>
</childrens>
<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= $_POST['name'];
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;
echo "event:- $event, Region:- $region1, entity:- $entity";
?>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script>
$(function(){
$("#filter").click(function(){
var name = $('#select').val();
alert(name);
$.ajax({
type: "POST",
data: {"name":name} ,
url: "array.php",
async: false,
success: function(result) {
alert(result);
$("#result").text(result);
}
});
});
});
</script>
</head>
<body>
<input type="text" id="select">
<input type="button" id="filter" name="button" value="Search">
<div id="result">
</div>
</body>
</html>