1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/** XML FILE:
 
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
       <items>
              <item name="1">
                     <url>http://www.yoursite.com/videos/com1.wmv</url>
                     <hits>19</hits>
              </item>
              <item name="2">
                     <url>http://www.yoursite.com/videos/com2.wmv</url>
                     <hits>1</hits>
              </item>
              <item name="3">
                     <url>http://www.yoursite.com/videos/com3.wmv</url>
                     <hits>0</hits>
              </item>
       </items>
</rss>
 
 
 
**/
 
<?php
       $fid = (Int)$_GET["id"];
       $element = (String)"";
       $eid = (Int)0;
 
       $xr = new XMLReader();
    $xr->open("http://www.yoursite.com/feed.xml", "UTF-8");
 
       $xw = new XMLWriter();
       $xw->openMemory();
       $xw->startDocument("1.0", "UTF-8");
       while($xr->read())
       {
              switch($xr->nodeType)
              {
                     case XMLReader::ELEMENT:
                            $xw->startElement($xr->name);
                            $element = $xr->name;
                            $element_string = (String)"";
                            if(!$xr->isEmptyElement)
                                   $element_string = $xr->value;
                            if($xr->hasAttributes)
                            {
                                   while($xr->moveToNextAttribute())
                                   {
                                          if($xr->name == "name")
                                                 $eid = $xr->value;
 
                                          $xw->writeAttribute($xr->name, $xr->value);
                                   }
                            }
                            $xw->text($element_string);
 
                            break;
 
                     case XMLReader::TEXT:
                     
                     case XMLReader::CDATA:
                            if($fid == $eid && $element == "hits")
                                   $xw->text($xr->value + 1);
                            else
                                   $xw->text($xr->value);
                            break;
 
                     case XMLReader::SIGNIFICANT_WHITESPACE:
 
                     case XMLReader::WHITESPACE:
                            $xw->text($xr->value);
                            break;
 
                     case XMLReader::END_ELEMENT:
                            $xw->endElement();
                            break;
              }
       }
       $xw->endDocument();
       Header("application/xml");
 
       $handle = fopen("feed.xml", "w");
       fwrite($handle, $xw->outputMemory(true));
       fclose($handle);
 
?>