Here is a sample of how i do it
1st I have a master file in xml format, no database needed.
I named it "all.xml" and place it in the root folder of my server.
Sample:
<?xml version = "1.0" encoding = "utf-8" standalone = "yes" ?>
<Content>
<item url="a_bit_of_fry_and_laurie" title="A Bit of Fry and Laurie" year="1987" hdposterurl="yourPosterUrl"/>
</Content>
2nd i create a search script that will return the results.
I name it "livesearch.php" and place it in the root folder of my server.
"\n" = end of line and "i" = not case sensitive
I then append the url to a base url that handles the actual video file on click of the results.
Sample:
<?php header("Content-type: text/xml")?>
<?php echo "<?xml version = \"1.0\" encoding = \"utf-8\" standalone = \"yes\" ?>\n" ?>
<?php echo "<Content>\r\n" ?>
<?php
$q=$_GET["q"];
$xml=file_get_contents("all.xml");
preg_match_all("/.*title=\".*$q.*\"*\n/i", $xml, $output,PREG_SET_ORDER);
foreach($output as $file){
$file= $file[0];
echo "$file";
}
<?php echo "</Content>" ?>
So now if I go to "https://myWebAddress.com/livesearch.php?q=searchTextInput" it gets returned with all results parsed in a Roku xml format.
I also use a function so the results are returned as they type and not by a search button being pressed.
This method also allows all results returned regardless of where the word falls in the search and you dont have to worry about exact matches.
IE ... "https://myWebAddress.com/livesearch.php?q=brady" will return "the brady bunch" assuming that is a file.