Я пытаюсь создать информационный бюллетень на основе времени. У меня есть XML-файл, загруженный в документ DOM.Итерации через различные узлы и элементы DOM с помощью php
<?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;
Это моя вторая попытка. Проблема здесь в том, что $ 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