”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何使用正则表达式或 PHP XML 扩展向所有 XML 标签添加属性?

如何使用正则表达式或 PHP XML 扩展向所有 XML 标签添加属性?

发布于2024-11-22
浏览:150

How to Add an Attribute to All XML Tags Using Regex or PHP XML Extensions?

在任何 XML 标签中添加属性的正则表达式

问题:

如何使用 preg_replace 添加特定属性存储为字符串变量的格式良好的 XML 文档中的所有 XML 标记?例如,您想要修改以下 XML:


 some text 

至:


 some text 

答案:

虽然很想使用正则表达式来完成此任务,但不建议这样做。 XML 不是常规语言,尝试在其上使用正则表达式可能会导致意外结果。相反,我们建议使用 PHP 的 XML 扩展:

$xml = new SimpleXml(file_get_contents($xmlFile));

function process_recursive($xmlNode)
{
    $xmlNode->addAttribute('attr', 'myAttr');

    foreach ($xmlNode->children() as $childNode)
    {
        process_recursive($childNode);
    }
}

process_recursive($xml);

echo $xml->asXML();

此方法可确保正确修改所有 XML 标记,避免在 XML 上使用正则表达式的潜在陷阱。

版本声明 本文转载于:1729411576如有侵犯,请联系[email protected]删除
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3