簡體   English   中英

PHP搜索兩點之間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM