2012-10-20 38 views
12

HI tôi đang sử dụng ajax cho trang web hiển thị các khóa học, tôi đang gặp vấn đề trong đó tôi đang đọc xml (có chi tiết khóa học) nhận giá trị nút (tên khóa học) so với đầu vào của tôi (tên khóa học inout) nếu nó bằng i am hiển thị văn bản (mô tả khóa học). bây giờ tôi đang truy tìm nó nhận được để sửa tên khóa học (trong file xml) nhưng khi so sánh nó với quá trình đầu vào tên của nó không phải ở tất cả các so sánh so.at một điểm i nạp file xml và echo nó:chuyển xml DOMDocument thành chuỗi

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

Báo cáo cho tôi biết lỗi

Catchable fatal error: Object of class DOMDocument could not be converted to string in /home/students/....../www/htdocs/client/unit_details.php on line 23

vì vậy tôi hiểu rằng đối tượng xml dom phải được chuyển thành chuỗi để tôi có thể nhận dữ liệu cần thiết và sử dụng, đúng không? nếu như vậy có thể một số cho tôi biết làm thế nào để làm như vậy xin vui lòng (như bất kỳ chức năng vv) cảm ơn trước :-)

+1

[ 'DOMDocument'] (http://us3.php.net/manual/en/class.domdocument.php) thực hiện các API DOM - nút truy cập thông qua những thứ như' getElementById(), getElementsByClassName() ', vv, và sử dụng' saveXML() 'để viết ra một chuỗi. –

Trả lời

17

Không thể sử dụng đối tượng DOMDocument làm chuỗi.

Đây là cách bạn sẽ hiển thị các đối tượng DOMDocument như một chuỗi XML:

echo $doc->saveXML(); 
4

DOMDocument có một phương pháp SaveHTML(), nó được thiết kế để thực hiện chính xác những gì bạn cần.

Bạn có thể hiển thị toàn bộ tài liệu theo:

$doc->saveHTML(); 

Hoặc chỉ cần một số nút:

$doc->saveHTML($bodyNode); 

DOMDocumnet cũng cung cấp vài lựa chọn như thế nào để nâng cao cách XML là in, chẳng hạn như:

-3

Bạn có thể sử dụng loại đúc

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

Hoặc Bạn có thể sử dụng chức năng PHP

strval(); 

Hàm này trả về giá trị chuỗi của tham số được truyền cho nó.

+1

Bạn nên đọc câu hỏi trước khi trả lời: * "Lỗi nghiêm trọng có thể bắt được: Đối tượng của lớp DOMDocument không thể chuyển thành chuỗi trong /home/students/....../www/htdocs/client/unit_details.php trên dòng 23 "* – hakre

3

Hãy thử điều này:

$xml = $doc->saveXML($doc->documentElement); 
Các vấn đề liên quan