PHP中的DOMDocument和dom模块

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (856)

我正在使用php开发一个应用程序,我需要使用XML文件并使用XSL样式表对它们进行转换。要加载XML和XSL文件,我使用以下内容:

$xsl = new DOMDocument();
$xsl->load("myxslfile.xsl");  // load XSL
$xml = new DOMDocument(); 
$xml->load("myxmlfile.xml");  // load XML

问题是在运行代码时出现下一个错误:

Fatal error: Class 'MyDirectory\DOMDocument' not found in 'mydirectory'

运行phpinfo()我可以看到dom被安装并启用。我不知道为什么我不能跑DOMDocument()

提问于
用户回答回答于

您显然正在使用命名空间 MyDirectory。但是DOMDocument是全局命名空间中的一个类。要从本地名称空间中的全局名称空间引用类,必须使用完全限定名称或将其导入本地名称空间:

完全合格的命名空间:

$xsl = new \DOMDocument();
$xsl->load("myxslfile.xsl");  // load XSL
$xml = new \DOMDocument(); 
$xml->load("myxmlfile.xml");  // load XML

导入 use

namespace MyDirectory;
use \DOMDocument;

$xsl = new DOMDocument();
$xsl->load("myxslfile.xsl");  // load XSL
$xml = new DOMDocument(); 
$xml->load("myxmlfile.xml");  // load XML

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励