PHP SimpleXML:访问内部 XML
在 PHP XML 解析领域,SimpleXML 扩展允许开发人员轻松操作 XML 文档。然而,提取 XML 元素的内部内容(排除周围的元素标签)可能具有挑战性。
考虑以下 XML 片段:
Who are you? Who who, who who, me
要仅检索“answer”元素的内容(即“Who who, who who, me”),我们需要绕过默认的 asXML() 方法。相反,我们使用 dom_import_simplexml() 函数引入一个优雅的解决方案。
function SimpleXMLElement_innerXML($xml)
{
$innerXML = '';
foreach (dom_import_simplexml($xml)->childNodes as $child)
{
$innerXML .= $child->ownerDocument->saveXML( $child );
}
return $innerXML;
}
通过使用此函数,我们可以访问任何元素的内部 XML:
$xml = simplexml_load_string($xmlString);
$innerAnswer = SimpleXMLElement_innerXML($xml->answer);
生成的 $innerAnswer 变量将包含所需的字符串:“Who who, who who, me” 。此方法保留了内部 XML 中的原始格式和字符实体,使其成为维护提取内容完整性的理想选择。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3