Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Работа с XML. API DOM
 
 автор: Гавриленко Дмитрий   (11.07.2011 в 11:41)   письмо автору
 
 

Здравствуйте! У меня возникли проблемы с DOM интерфейсом. В книге , по которой я о нем узнал, написано очень мало. Дан лишь маленький пример.


<?
$doc 
= new DOMDocument("1.0""windows-1251"); //Создаем файл
$root $doc->createElement("html"); //Создаем узел html
$root $doc->appendChild($root); //Привязываем к узлу * узел html.(Я так понял!)
$body $doc->createElement("body");//Создаем узел body
$body $root->appendChild($body); //Привязываем к html узел body
$body->setAttribute("bgcolor","#000");//Задаем параметры
$graff $doc->createElement("p");//Создаем узел p
$graff $body->appendChild($graff);//Привязываем к узлу body узел p
$text $doc->createTextNode("Text");//Создаем текстовой узел
$text $graff->appendChild($text);//Привязываем к p узел TextNode(text)
$doc->save("test_save.xml");
?>

Результат>>>>>

<html>
<body bgcolor="#000">
<p>Text</p>
</body>
</html>

Все как надо!



Я решил сам попробовать создать такой же пример, только не куда не подглядывая, комментируя.


<?php
$doc 
= new DOMDocument("1.0","windows-1251");
$html $doc->createElement("html");//Создаем узел html
$html $doc->appendChild($html);//Привязываем к * узел html
$body $doc->createElement("body");//Создаем узел body
$body $html->appendChild($body);//Привязываем к html узел body
$doc->save("1.xml");
?>

Результат>>>>>

<html>
<body/>
</html>


Почему нет открывающего элемента body??
И что означает строка $root = $doc->appendChild($root); из первого примера.


Вообще я только щас попробовал написать все с комментариями, и хоть что-то из этого получил! А когда множество раз пробовал без Комментов, ошибки в браузере лезли.

  Ответить  
 
 автор: cheops   (11.07.2011 в 12:29)   письмо автору
 
   для: Гавриленко Дмитрий   (11.07.2011 в 11:41)
 

Он есть, просто в XML пустые элементы <tag></tag> допустимо сворачивать в <tag />, вот вам <body> и свернули. XML-парсер не знает о том, что вы делаете, он просто создает для вас XML-документ, он понятия не имеет о HTML и назначении тэга body.

  Ответить  
 
 автор: Гавриленко Дмитрий   (11.07.2011 в 16:11)   письмо автору
 
   для: cheops   (11.07.2011 в 12:29)
 

Да я в смысле знаю что он не имеет понятия что я делаю. Я не знал что в XML можно делать не парные "теги".

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования