【问题标题】:converting xml DOMDocument to string将 xml DOMDocument 转换为字符串
【发布时间】:2012-10-10 21:39:01
【问题描述】:

您好,我正在将 ajax 用于显示可用课程的网站,我在阅读 xml(其中包含课程详细信息)时遇到问题,与我的输入(inout 课程名称)相比,如果等于我正在显示文本(课程描述)。 现在我正在跟踪它以获得正确的课程名称(在 xml 文件中),但是在将其与输入课程名称进行比较时,它根本没有比较所以。在某一时刻,我加载了 xml 文件并回显它:

$doc->load('data/ICT.xml'); 
echo"$doc";

它给了我一个错误

可捕获的致命错误:第 23 行的 /home/students/....../www/htdocs/client/unit_details.php 中的 DOMDocument 类的对象无法转换为字符串

所以我从中了解到的是应该将 xml dom 对象转换为字符串,以便我可以获得所需的数据并使用它,是真的吗?如果可以的话,有人可以告诉我该怎么做(比如任何功能等),提前谢谢:-)

【问题讨论】:

  • DOMDocument 实现了 DOM API - 通过getElementById(), getElementsByClassName() 等访问节点,并使用saveXML() 写出一个字符串。

标签: php xml ajax


【解决方案1】:

DOMDocument 对象不能用作字符串。

以下是将DOMDocument 对象显示为 XML 字符串的方法:

echo $doc->saveXML();

【讨论】:

    【解决方案2】:

    DOMDocument 有一个方法SaveHTML(),它旨在满足您的需求。

    您可以通过以下方式显示整个文档:

    $doc->saveHTML();
    

    或者只是某个节点:

    $doc->saveHTML( $bodyNode);
    

    DOMDocument 还提供了一些如何增强 XML 打印方式的选项,例如:

    【讨论】:

      【解决方案3】:

      你可以使用类型转换

      $doc->load('data/ICT.xml'); 
      $doc2=(string)$doc;
      echo $doc2;
      

      或者你可以使用PHP函数

      strval();
      

      此函数返回传递给它的参数的字符串值。

      【讨论】:

      • 您最好在回答之前阅读该问题:“可捕获的致命错误:无法将 DOMDocument 类的对象转换为 /home/students/....../www 中的字符串/htdocs/client/unit_details.php 第 23 行"
      【解决方案4】:

      试试这个:

      $xml = $doc->saveXML($doc->documentElement);
      

      【讨论】:

        猜你喜欢
        • 2011-07-30
        • 2018-08-29
        • 1970-01-01
        • 1970-01-01
        • 2012-10-26
        • 2013-03-02
        • 1970-01-01
        • 1970-01-01
        • 2016-03-17
        相关资源
        最近更新 更多