[英]PHP Search between two points
我正在嘗試處理PHP中的一些XML。
我有這樣的代碼:
<?php
$stream = fopen("xml","r");
?>
其中“ xml”包含以下內容:
<name>name1</name>
<key>key1</key>
<name>name2</name>
<key>key2</key>
等等
我想根據<key>
標記的內容創建一個數組,就像其中keys[0] = "key1"
和keys[1] = "key2"
任何幫助表示贊賞,非常感謝:)
解:
$xmlstr = fread($stream,filesize("xml-file"));
$sxe = new SimpleXMLElement($xmlstr);
echo $sxe->getName() . "\n";
foreach ($sxe->children() as $child) {
echo $child->children();
}
在這種情況下,您應該使用DOM函數。 讓我們假設一個格式正確的XML文檔(xmltest.xml):
<?xml version="1.0" encoding="utf-8"?>
<root>
<name>name1</name>
<key>key1</key>
<name>name2</name>
<key>key2</key>
</root>
此代碼將xml文件加載到DOM文檔中,並獲取所有帶有標簽key
節點;
<?php
$dom = new DOMDocument('1.0','utf-8');
$dom->load('xmltest.xml');
$keys = $dom->getElementsByTagName('key');
for ($i = 0; $i < $keys->length; $i++) {
echo $keys->item($i)->nodeValue . "</br>";
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.