php:使用SimpleXML解析表结构
我试图读入一个xml文件,由于某种原因,该文件已在如下表结构中建模:php:使用SimpleXML解析表结构,php,simplexml,html-table,Php,Simplexml,Html Table,我试图读入一个xml文件,由于某种原因,该文件已在如下表结构中建模: <tr id="1"> <td name="Date">10/01/2009</td> <td name="PromoName">Sample Promo Name</td> <td name="PromoCode">Sample Promo Code</td> <td name="PromoLevel" /> &l
<tr id="1">
<td name="Date">10/01/2009</td>
<td name="PromoName">Sample Promo Name</td>
<td name="PromoCode">Sample Promo Code</td>
<td name="PromoLevel" />
</tr>
10/01/2009
样本促销名称
促销代码示例
这只是一个示例行,该文件有多个
块,并且都被
包围
所有行都命名为
$xml = simplexml_load_file('myFile.xml');
$values = $xml->xpath('//td[@name]');
foreach($values as $v) {
echo "Found $v<br />";
}
$xml=simplexml\u load\u文件('myFile.xml');
$values=$xml->xpath('//td[@name]');
foreach(价值为$v){
echo“发现$v
”;
}
这将为您提供所有具有名称属性的TD节点值,例如
Found 10/01/2009
Found Sample Promo Name
Found Sample Promo Code
Found <nothing cuz PromoLevel is empty>
发现于2009年1月10日
找到了示例促销名称
找到示例促销代码
建立
编辑要浏览所有表格行,可以执行以下操作:
$rows = $xml->xpath('//tr');
foreach($rows as $row) {
echo $row['id'];
foreach($row->td as $td) {
if($td['name']) {
echo $td['name'],':',$td,'<br/>',PHP_EOL;
}
}
}
$rows=$xml->xpath('//tr');
foreach($行作为$行){
echo$row['id'];
foreach($row->td作为$td){
如果($td['name'])){
echo$td['name'],':',$td,
',PHP_EOL;
}
}
}
你可能还想看看
Edit按照Josh的建议修复了XPath表达式