使用php和xpath从XML中分离值

使用php和xpath从XML中分离值,php,xml,xpath,foreach,Php,Xml,Xpath,Foreach,我需要从XML中选择数据的帮助。我似乎无法理解xpath处理特定数据的方式。以下是我的XML: <?xml version="1.0"?> <a> <b> <c>Value 1</c> <d>Value 2</d> </b> <b> <c>Value 3</c> <d>

我需要从XML中选择数据的帮助。我似乎无法理解xpath处理特定数据的方式。以下是我的XML:

<?xml version="1.0"?>
<a>
    <b>
        <c>Value 1</c>
        <d>Value 2</d>
    </b>
    <b>
        <c>Value 3</c>
        <d>Value 4</d>
    </b>
</a>

值1
价值2
价值3
价值4
我尝试使用的PHP代码是:

<?php
$xml = simplexml_load_file("xml.xml"); 

$result = $xml->xpath('b/c | b/d');
foreach ($result as $val){
    echo $val['c'] . $val['d'] . "<br>;
}
xpath('b/c | b/d');
foreach(结果为$val){
回声$val['c'].$val['d'].“
; }
如果我回显
$val
,我会得到所有的值,但是,我想把它分开,这样我就有了
$val['c']
$val['d']
,就像从MySQL表中选择特定数据一样。
提前谢谢

您可以先指向
b
,然后在循环内部,每个
b
,将其指向
c
d

$result = $xml->xpath('//b');
foreach ($result as $val) {
    echo $val->c . $val->d . "<br>";
}
$result=$xml->xpath('//b');
foreach(结果为$val){
回声$val->c.$val->d.“
”; }