Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP+XML缓存怎么快速读取指定的值

PHP+XML缓存怎么快速读取指定的值

WBOY
WBOYasal
2016-06-13 13:27:061015semak imbas

PHP+XML缓存如何快速读取指定的值
用XML缓存
结构是

  -
  -
  1
  B007
 

  -
  2
  B001
 

  -
  3
  B000
 

  -
  4
  B004
 

  -
  5
  B003
 

  ..............
 



复制代码
数据比较多

现在我想快速找到
id=4的pd值
或者id=4下面的item的所有值
应该怎么写?

还有一个问题,xml可以支持动态读取值的吗?
比如a.xml?id=4
这类型的
可以吗?谢谢

是PHP的

------解决方案--------------------
参考:http://topic.csdn.net/u/20120521/03/527bc4d2-b4e0-4d6e-9ae4-021a675cfff5.html
------解决方案--------------------

PHP code
$xml=simplexml_load_file('bb.xml');
foreach($xml->item as $v){
      if($v->id==4) echo "id : $v->id<br>pd : $v->pd";
}
<br><font color="#e78608">------解决方案--------------------</font><br>
xpath,还有其他答案吗。<br><br>
PHP code
[User:root Time:10:28:18 Path:/home/liangdong/php]$ php xpath.php 
pd B004
[User:root Time:10:28:19 Path:/home/liangdong/php]$ cat xpath.php 
<?php $str = <<<EOF
<channel>
  <item>
  <id>1</id>
  <pd>B007</pd>
  </item>
  <item>
  <id>2</id>
  <pd>B001</pd>
  </item>
  <item>
  <id>3</id>
  <pd>B000</pd>
  </item>
  <item>
  <id>4</id>
  <pd>B004</pd>
  </item>
  <item>
  <id>5</id>
  <pd>B003</pd>
  </item>
  
EOF;

$xml = simplexml_load_string($str, "SimpleXMLElement", LIBXML_NOBLANKS);
$res = $xml->xpath("/channel/item/id[text()=4]/parent::item/pd");
foreach ($res as $node) {
        echo $node->getName() . " " . $node->{0} . PHP_EOL;
}
?> <div class="clear">
                 
              
              
        
            </div>
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn