1

これは私の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";
?>


ここに 1 つの文字列があり、$abc
それらを分解しin
て 2 つの diff に保存しようとすると、var
次のような結果が返されます:ファイル $1 の値と $2 の値を両方とも一致
$one = 10068
$two = 2013-02-14 20:39:00
させてチェックインしようとすると、 値のような親要素の属性値が返されます(1 つが出力されます)クエリ:- 問題は $abc 文字列にあります。両方の値が diff です。要素の子値は子要素であり、子要素です。 この場合、メッセージが出力され、両方の値が一致 しませんが、表示された product_id 値は機能しませんproduct.xml
<dist_activity>
<individual_strdt>
<product_id>1
10068<product_id> 12013-02-14 20:39:00<product_id> 2

1

4

1 に答える 1

0

あなたが必要かもしれません:

list($activity_id) = $product->xpath("//dist_activity[@value = '$actvitiy' ] | //individual_strdt[ @value = '$date']/ancestor::product_id/@value");
于 2013-04-04T11:57:31.797 に答える