[ create a new paste ] login | about

Link: http://codepad.org/zfOZXycZ    [ raw code | output | fork ]

PHP, pasted on May 25:
<?php

$xml = <<< XML
<Tickets>
<EventsPoints>
      <Event ID="23">
           <PerformanceName>U2</PerformanceName>
           <EventDate>25/05/2012</EventDate>
           <EventPrice>75.00</EventPrice>
      </Event>
      <Event ID="27">
           <PerformanceName>Jedward</PerformanceName>
           <EventDate>28/05/2012</EventDate>
           <EventPrice>20.00</EventPrice>
      </Event>
            <Event ID="27">
           <PerformanceName>Rolling Stones</PerformanceName>
           <EventDate>03/12/2012</EventDate>
           <EventPrice>80.00</EventPrice>
      </Event>
</EventsPoints>
</Tickets>
XML;

$srcDom = new DOMDocument;
$srcDom->loadXml($xml);
//$srcDom->load('/var/www/html/xml/searchfile.xml');
$xPath = new DOMXPath($srcDom);


$allEventsForVenue = $xPath->query(
    sprintf(
        '/Tickets/EventsPoints/Event/PerformanceName[.="U2"]/..'
    )
);

foreach ($allEventsForVenue as $event) {
    $dstDom = new DOMDocument('1.0', 'utf-8');
    $dstDom->appendChild($dstDom->createElement('EventsPricePoints'));
    $dstDom->documentElement->appendChild($dstDom->importNode($event, true));
    $dstDom->formatOutput = true;
    //$dstDom->save(sprintf('/var/www/html/xml/searchresults1.xml'));
    echo $dstDom->saveXml();
}


Output:
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<EventsPricePoints>
  <Event ID="23">
           <PerformanceName>U2</PerformanceName>
           <EventDate>25/05/2012</EventDate>
           <EventPrice>75.00</EventPrice>
      </Event>
</EventsPricePoints>


Create a new paste based on this one


Comments: