PHP
Chilkat2 PHP
Demonstrate XML SearchForTag2
Demonstrates how to use SearchForTag2.Chilkat PHP Downloads
<?php
use Chilkat2\StringBuilder;
use Chilkat2\Xml;
$xml = new Xml();
// Load the following XML:
// <Test>
// <testchild1>
// test
// </testchild1>
// <testchild1>
// test1
// </testchild1>
// <testchild1>
// test2
// </testchild1>
// <testchild1>
// test3
// </testchild1>
// <testchild1>
// test4
// </testchild1>
// <testchild1>
// test5
// </testchild1>
// <testchild1>
// test6
// </testchild1>
// </Test>
$xml->LoadXml('<Test><testchild1>test</testchild1><testchild1>test1</testchild1><testchild1>test2</testchild1><testchild1>test3</testchild1><testchild1>test4</testchild1><testchild1>test5</testchild1><testchild1>test6</testchild1></Test>');
$i = 0;
$xmlSearch = $xml->GetRoot();
$afterPtr = $xml->GetRoot();
$pTemp = null;
// Alway begin the search from the root.
while (ERROR: A status method used as a value: xmlSearch.SearchForTag2
$xmlSearch->SearchForTag2($afterPtr, 'testchild1')) {
// If successful, xmlSearch now points to the found element.
$i = $i + 1;
// Set afterPtr = xmlSearch (so we find the next match after the one we just found)
// Rest xmlSearch to the root of the XML tree to be searched.
echo $i, ': ', $xmlSearch->Content, "\n";
$pTemp = $afterPtr;
$afterPtr = $xmlSearch;
$pTemp->GetRoot2();
$xmlSearch = $pTemp;
}
echo "----\n";
// A better way:
$sbState = new StringBuilder();
$i = 0;
while ($xml->NextInTraversal2($sbState)) {
if ($xml->TagEquals('testchild1')) {
echo $i, ': ', $xml->Content, "\n";
$i = $i + 1;
}
}
$xml->GetRoot2();