Показать одну запись XML на основе идентификатора - PullRequest
0 голосов
/ 20 октября 2010

Попытка сделать быструю и грязную систему новостей.

Иметь базовый файл XML.

<?xml version="1.0" encoding="ISO-8859-1"?>
<articles>
  <article id="1">
    <title>Article title 001</title>
    <short>Short text</short>
 <long>Long text</long>
  </article>
  <article id="2">
    <title>Article title 002</title>
    <short>Short text</short>
 <long>Long text</long>
  </article>
</articles>

Я могу отобразить все статьи со следующим кодом:

<?php

 $xmldoc = new DOMDocument();
 $xmldoc->load('test.xml');

 $xpathvar = new Domxpath($xmldoc);

 $queryResult = $xpathvar->query('//articles/article'); // works fine grabs all articles
 foreach($queryResult as $result){
   echo $result->textContent;
 }
?>

Я просто не могу понять, как показать только одну статью на основе идентификатора.

Любая помощь будет отличной.

Спасибо Stefan

1 Ответ

1 голос
/ 20 октября 2010
$id = 1;
$queryResult = $xpathvar->query(sprintf('//articles/article[@id="%s"]', $id));
...