Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.30 KB | None | 0 0
  1. <?php
  2.  
  3. if (!isset($argv[1]))
  4. {
  5.     die("Usage: <XML file>.\n");
  6. }
  7.  
  8. $filename = $argv[1];
  9.  
  10. $doc = new DomDocument();
  11. if (!@$doc->loadHTMLFIle($filename))
  12. {
  13.     die('Could not HTML from the file ' . $filename . '.');
  14. }
  15.  
  16. $tickets = array();
  17.  
  18. $tracker_items = $doc->getElementsByTagName('tracker_item');
  19. foreach ($tracker_items as $tracker_item)
  20. {
  21.     $status_el = $tracker_item->getElementsByTagName('status_id')->item(0);
  22.     if (null === $status_el)
  23.     {
  24.         die('Could not extract the status.');
  25.     }
  26.  
  27.     if ($status_el->nodeValue != 1)
  28.         continue;
  29.  
  30.     $messages = array();
  31.     $followups = $tracker_item->getElementsByTagName('followup');
  32.     foreach ($followups as $followup)
  33.     {
  34.         array_push($messages, array(
  35.             'submitter'     => $followup->getElementsByTagName('submitter')->item(0)->nodeValue,
  36.             'date'      => $followup->getElementsByTagName('date')->item(0)->nodeValue,
  37.             'details'   => $followup->getElementsByTagName('details')->item(0)->nodeValue,
  38.         ));
  39.     }
  40.  
  41.     array_push($tickets, array(
  42.         'summary'   => $tracker_item->getElementsByTagName('summary')->item(0)->nodeValue,
  43.         'details'   => $tracker_item->getElementsByTagName('details')->item(0)->nodeValue,
  44.         'submit_date'   => $tracker_item->getElementsByTagName('submit_date')->item(0)->nodeValue,
  45.         'messages'  => $messages
  46.     ));
  47. }
  48.  
  49. echo json_encode($tickets);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement