简体   繁体   English

使用php和xpath将值与XML分开

[英]Separating values from XML using php with xpath

I need help from selecting data from XML. 我需要从XML中选择数据的帮助。 I can't seem to figure out the way xpath works with specific data selecting. 我似乎无法弄清楚xpath用于特定数据选择的方式。 Here is my XML: 这是我的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>

And PHP code i'm trying to use would be: 我尝试使用的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>;
}

If i echo $val , i get all values, however, i want to separate it so i have $val['c'] and $val['d'] , like when selecting specific data from MySQL table. 如果我回显$val ,我得到所有值,但是,我想将其分开,所以我有$val['c']$val['d'] ,就像从MySQL表中选择特定数据时一样。 Thank you in advance 先感谢您

You could just point to b first, then inside the loop, each b , point it to c and d : 您可以先指向b ,然后在循环中每个b指向cd

$result = $xml->xpath('//b');
foreach ($result as $val) {
    echo $val->c . $val->d . "<br>";
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM