Подтвердить что ты не робот

Преобразование xml DOMDocument в строку

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 должен быть преобразован в строку, чтобы я мог получить требуемые данные и использовать их, правда ли это? если это возможно, кто-нибудь скажет мне, как это сделать, пожалуйста (как и любые функции и т.д.) заранее: -)

4b9b3361

Ответ 1

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

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

echo $doc->saveXML();

Ответ 2

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

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

$doc->saveHTML();

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

$doc->saveHTML( $bodyNode);

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

Ответ 3

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

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

Ответ 4

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

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

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

strval();

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