从PHP中的xml文件中检索注释值

时间:2014-12-28 16:26:03

标签: php xml

这是我的XML文件;

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">

<serial>PQE43A021640</serial>   <!--    3693    -->
<serial>PQE43E015072</serial>   <!--    3694    -->
<serial>PQE430015069</serial>   <!--    3695    -->
</rss>

在上面的xml文件中,在串行节点旁边有注释值。

我使用此脚本获得了序列号

$xml=simplexml_load_file("note.xml");
foreach($xml as $val) { echo $val[0] . "<br>"; }

那么如何在序列号旁边获得注释值? 而且我只是想得到那个特定的行号?那些3应该是相同的行值:例如(行号:4 |序号:PQE430015069 |号码:3693)

请帮忙,

1 个答案:

答案 0 :(得分:0)

$doc = new DOMDocument;
$doc->loadXML('<serials><serial>KLH4587KIJ</serial><!-- 100001 --><serial>MHF4557PDS</serial><!-- 100002 --></serials>');

$xpath = new DOMXPath($doc);
$lineNo = 0;
foreach ($xpath->query('//serial/following::comment()') as $comment){
    $serial= $xpath->query('//serial', $comment)->item($lineNo)->textContent;
    var_dump ("Line number: ".$lineNo ." Serial number: ".$serial." Comented number: ".$comment->textContent);
    $lineNo++;
}