преобразование XML DOMDocument в строку

12

HI Я использую ajax для веб-сайта, на котором отображаются доступные курсы, у меня проблема, когда я читаю xml (у которого есть данные о курсах), получая значение node (название курса) по сравнению с моим вводом (inout name), если он равен, я показываю текст (описание курса).  теперь я отслеживаю его получение правильного имени курса (в xml файле), но при сравнении его с именем входного курса его совсем не сравнивают. В одной точке я загрузил xml файл и повторил его:

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

Это дает мне ошибку

Допустимая фатальная ошибка: объект класса DOMDocument не может быть преобразован в строку в /home/students/....../www/htdocs/client/unit_details.php в строке 23

поэтому я понял из этого, что объект xml dom должен быть преобразован в строку, чтобы я мог получить требуемые данные и использовать их, правда ли это? если это возможно, кто-нибудь скажет мне, как это сделать, пожалуйста (как и любые функции и т.д.) заранее: -)

  • 1
    DOMDocument реализует API DOM - доступ к узлам с помощью таких вещей, как getElementById(), getElementsByClassName() и т. Д., И использование saveXML() для записи строки.
Теги:

4 ответа

17

Объект DOMDocument не может использоваться как строка.

Вот как вы бы отображали объект DOMDocument как строку XML:

echo $doc->saveXML();
4

DOMDocument имеет метод SaveHTML(), который предназначен для того, чтобы делать именно то, что вам нужно.

Вы можете отобразить весь документ:

$doc->saveHTML();

Или просто определенный node:

$doc->saveHTML( $bodyNode);

DOMDocumnet также содержит несколько вариантов улучшения способа печати XML, например:

3

Попробуйте следующее:

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

Вы можете использовать Type casting

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

Или Вы можете использовать функцию PHP

strval();

Эта функция возвращает строковые значения переданного параметра.

  • 1
    Вам следует лучше прочитать вопрос, прежде чем отвечать на него: «Исправляемая фатальная ошибка: объект класса DOMDocument не может быть преобразован в строку в /home/students/....../www/htdocs/client/unit_details.php в строке 23 "

Ещё вопросы

Сообщество Overcoder
Наверх
Меню