php:使用SimpleXML解析表结构
发布时间:2020-12-13 17:02:01 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试读取一个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" //tr 这只是一个样本行,该文件有
我正在尝试读取一个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" /> </tr> 这只是一个样本行,该文件有多个< tr>块和它全部被< table>包围. 如何读取值,所有行都被命名为< td>名称? 解决方法
您可以将simpleXML与XPath表达式一起使用.
$xml = simplexml_load_file('myFile.xml'); $values = $xml->xpath('//td[@name]'); foreach($values as $v) { echo "Found $v<br />"; } 这将为您提供具有name属性的所有TD节点值,例如 Found 10/01/2009 Found Sample Promo Name Found Sample Promo Code Found <nothing cuz PromoLevel is empty> 编辑要完成所有表格行,您可以执行以下操作: $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; } } } 您可能还想看看this article. 编辑修复了XPath表达式,正如Josh建议的那样. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |