我試圖創建一個基於時間條件的通訊。我有一個XML文件加載到DOM文檔中。使用php遍歷不同的DOM節點和元素
<?xml version="1.0"?>
<users>
<user><mail>[email protected]</mail><time>1387814834</time></user><user> <mail>[email protected]</mail><time>1387814834</time></user></users>
我想遍歷所有的'時間'標籤,也從每個'郵件'標籤的值作爲一個字符串。
這是我第一次嘗試。我不知道爲什麼我在這裏失敗,但似乎迭代工作正常,但留下郵件。
$data = new DOMDocument();
$data->load('data.xml');
$times = $data->getElementsByTagName('time');
$emails = $data->getElementsByTagName('mail');
$timestamp = time();
$timestamp1 = $timestamp;
$timestamp = $timestamp-1;
foreach($times as $t)
{
if($t->nodeValue > $timestamp)
{
}
else if($t->nodeValue < $timestamp)
{
$t->nodeValue = $timestamp1;
$email = $emails->nodeValue;
$to = $email;
這是我第二次嘗試。這裏的問題是$電子郵件不能轉換爲字符串。
$itm = 0;
require_once('functions.php');
$data = new DOMDocument();
$data->load('data.xml');
$times = $data->getElementsByTagName('time');
$timestamp = time();
$timestamp1 = $timestamp;
$timestamp = $timestamp-1;
foreach($times as $t)
{
if($t->nodeValue > $timestamp)
{
$itm = $itm+1;
}
else if($t->nodeValue < $timestamp)
{
$t->nodeValue = $timestamp1;
$email1 = $data->getElementsByTagName('mail')->item($itm);
$email = strval($email1);
$itm = $itm+1;
$to = $email;
$unsub = base64_encode($email);
任何想法,我可以做到這一點?謝謝你的幫助!
內部項目只有索引()丟失:P,但是這是溶液許多感謝 – user3130117
['//用戶/時間[數<1387896441] /前同輩(。) ::郵件[最後()]'](http://stackoverflow.com/a/20762674/367456) – hakre