我希望子节点基于属性值..
我该如何检索它们?
任何人都可以帮助我吗?
输出:
文字东西..
但我需要
<c>text</c>
<c>stuff</c>
码
<?php
$string = <<<XML
<a>
<b id="1">
<c>text</c>
<c>stuff</c>
</b>
<b name="title">
<c>code</c>
</b>
<d>
<c>item</c>
</d>
</a>
XML;
$xml = new SimpleXMLElement($string);
function getChildXML($xml, $tag, $id)
{
$output = '';
$doc = new DOMDocument();
$doc->loadXML($xml);
$xpath = new DOMXpath($doc);
$elements = $xpath->query($tag . "[@id='$id']");
foreach($elements as $element)
$output .= $doc->saveXML($element);
return $output;
}
echo getChildXML($string, 'b', 1);
?>
答案 0 :(得分:0)
我认为您正在获得正确的输出,但如果您在浏览器中显示它,请使用此
echo htmlentities(getChildXML($string, 'b', 1));