PHP:DOM获取<;xxx/>;在<;李>;要素
如何检查“PHP:DOM获取<;xxx/>;在<;李>;要素,php,dom,Php,Dom,如何检查“li”元素中是否有“star”元素,并获取star元素的计数 <random> <li> Blah blah <star item="1"/> blah <star item="2"/> Blah blah blah </li> <li> Blah blah Blah blah blah </li> </random> 试试这个 $d
li
”元素中是否有“star
”元素,并获取star元素的计数
<random>
<li>
Blah blah <star item="1"/> blah <star item="2"/> Blah blah blah
</li>
<li>
Blah blah Blah blah blah
</li>
</random>
试试这个
$dom = new DOMDocument;
$dom->loadXML($ul);
$liElements = $dom->getElementsByTagName('li');
$liCount = $dom->getElementsByTagName('li')->length;
// Select a random li
$useThisItem = rand(0, $liCount-1);
$liToProcess = $liElements->item($useThisItem)->nodeValue;
// This echo will output 'Blah blah blah Blah blah blah' (if first li is selected)
echo $liElements->item($useThisItem)->childNodes->length . "<br>";
$noStars = 0;
if($liElements->item($useThisItem)->childNodes->length > 1) {
foreach($liElements->item($useThisItem)->childNodes as $cN) {
if(isset($cN->tagName) && ($cN->tagName === "star") ){
// echo $cN->tagName . "<br/>";
$noStars++;
}
}
}
echo "li: " . $liToProcess . "<br/>\n";
echo "No of Stars = $noStars <br/>\n";
$dom=新的DOMDocument;
$dom->loadXML($ul);
$liElements=$dom->getElementsByTagName('li');
$liCount=$dom->getElementsByTagName('li')->长度;
//选择一个随机变量
$useThisItem=rand(0,$liCount-1);
$liToProcess=$liElements->item($useThisItem)->nodeValue;
//此回音将输出“诸如此类诸如此类”(如果选择了第一个li)
echo$liElements->item($useThisItem)->childNodes->length。“
”;
$noStars=0;
如果($liElements->item($useThisItem)->childNodes->length>1){
foreach($liElements->item($useThisItem)->childNodes作为$cN){
如果(isset($cN->标记名)&&($cN->标记名==“星形”)){
//echo$cN->标记名“
”;
$noStars++;
}
}
}
回声“李:”$利托过程。“
\n”;
echo“星星数=$noStars
\n”;
$dom = new DOMDocument;
$dom->loadXML($ul);
$liElements = $dom->getElementsByTagName('li');
$liCount = $dom->getElementsByTagName('li')->length;
// Select a random li
$useThisItem = rand(0, $liCount-1);
$liToProcess = $liElements->item($useThisItem)->nodeValue;
// This echo will output 'Blah blah blah Blah blah blah' (if first li is selected)
echo $liElements->item($useThisItem)->childNodes->length . "<br>";
$noStars = 0;
if($liElements->item($useThisItem)->childNodes->length > 1) {
foreach($liElements->item($useThisItem)->childNodes as $cN) {
if(isset($cN->tagName) && ($cN->tagName === "star") ){
// echo $cN->tagName . "<br/>";
$noStars++;
}
}
}
echo "li: " . $liToProcess . "<br/>\n";
echo "No of Stars = $noStars <br/>\n";