За последние 24 часа нас посетил 216151 программист и 2195 роботов. Сейчас ищут 1808 программистов ...

проблемы по DOM Function

Тема в разделе "PHP для новичков", создана пользователем Александр Иванов, 7 сен 2009.

  1. Александр Иванов

    Александр Иванов Активный пользователь

    С нами с:
    30 авг 2009
    Сообщения:
    26
    Симпатии:
    0
    Адрес:
    Александров
    Всем доброе утро :) возник вопрос по DOM Function: когда создаем новый xml документ с помощью класса DOMDocument
    PHP:
    1. $xml=new DOMDocument('1.0','windows-1251');
    должна сгенерироваться шапка
    HTML:
    1. <?xml version="1.0" encoding="windows-1251"?>
    или я не прав? Подскажите плиз. Документацию смотрел, написано, что должна генерироваться, но у меня не генерируется.
     
  2. Fduch

    Fduch Активный пользователь

    С нами с:
    1 июл 2009
    Сообщения:
    140
    Симпатии:
    0
    PHP:
    1.  
    2. <?
    3. $dom = new DOMDocument('1.0', 'iso-8859-1');
    4.  
    5. $xml =  $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?> */
    6.  
    7. echo $xml;
    8.  
    9. ?>
    10.  
    результат:
    Код (Text):
    1.  
    2. <?xml version="1.0" encoding="iso-8859-1"?>
    а у Вас что не получается?
     
  3. Александр Иванов

    Александр Иванов Активный пользователь

    С нами с:
    30 авг 2009
    Сообщения:
    26
    Симпатии:
    0
    Адрес:
    Александров
    Код (Text):
    1. <?xml version="1.0" encoding="iso-8859-1"?>
    Вот эта шапка не выводится
     
  4. Fduch

    Fduch Активный пользователь

    С нами с:
    1 июл 2009
    Сообщения:
    140
    Симпатии:
    0
    исходный текст страницы смотрели? если в коде страницы в броузере то же нет - дайте кусок Вашего кода которым Вы это делаете.
     
  5. Fduch

    Fduch Активный пользователь

    С нами с:
    1 июл 2009
    Сообщения:
    140
    Симпатии:
    0
    исходный текст страницы смотрели? если в коде страницы в броузере то же нет - дайте кусок Вашего кода которым Вы это делаете.
     
  6. Александр Иванов

    Александр Иванов Активный пользователь

    С нами с:
    30 авг 2009
    Сообщения:
    26
    Симпатии:
    0
    Адрес:
    Александров
    Исходный текст страницы посмотрел первым делом и не обнаружил там шапки, поэтому и задался вопросом. А код такой же как и Вы писали
    PHP:
    1.  
    2. $xml=new DOMDocument('1.0','windows-1251');
    3. echo $xml->saveXML();
     
  7. Александр Иванов

    Александр Иванов Активный пользователь

    С нами с:
    30 авг 2009
    Сообщения:
    26
    Симпатии:
    0
    Адрес:
    Александров
    все работает :) можно закрывать тему
     
  8. Александр Иванов

    Александр Иванов Активный пользователь

    С нами с:
    30 авг 2009
    Сообщения:
    26
    Симпатии:
    0
    Адрес:
    Александров
    Еще вопрос :) Я создаю документ, потом строю дерево, а в самом конце, когда нужно сохранить документ, PHP выдает ошибку "output conversion failed due to conv error, bytes 0xC0 0xE2 0xF2 0xEE". На сколько я понимаю, то проблема с перекодировкой или в чем?
    PHP:
    1. $doc=new DOMDocument('1.0','windows-1251');
    2. $doc->encoding='windows-1251';
    3. $doc->version='1.0';
    4. $doc->formatOutput=true;
    5.  
    6. # Корневой элемент.
    7. $xmlPricelist=$doc->createElement('pricelist');
    8. $xmlPricelist->setAttribute('date',date('d-m-Y'));
    9. $doc->appendChild($xmlPricelist);
    10.  
    11. $type_car=$kind=$mark=$model=$name_group=0;
    12.  
    13. foreach($dataPrice as $kOut=>$v){
    14.     if($type_car===0 || $type_car!=$v['type_car']){
    15.         # Создаем элемент type_car
    16.        $xmlType_car=$doc->createElement('type_car');
    17.         # Устанавливаем атрибут name элементу type_car
    18.        $xmlType_car->setAttribute('name',$v['type_car']);
    19.         # Добавляем элемент typr_car в корневой элемент pricelist
    20.        $xmlPricelist->appendChild($xmlType_car);
    21.         $type_car=$v['type_car'];
    22.         $kind=$mark=$model=$name_group=0;
    23.     }
    24.     if($kind===0 || $kind!=$v['kind']){
    25.         # Создаем элемент kind
    26.        $xmlKind=$doc->createElement('kind');
    27.         # Устанавливаем атрибут name элементу kind
    28.        $xmlKind->setAttribute('name',$v['kind']);
    29.         # Добавляем элемент kind в элемент type_car
    30.        $xmlType_car->appendChild($xmlKind);
    31.         $kind=$v['kind'];
    32.         $mark=$model=$name_group=0;
    33.     }
    34.    
    35.     # Дальше строится дерево.
    36. }
    37. echo $doc->saveXML();
     
  9. Александр Иванов

    Александр Иванов Активный пользователь

    С нами с:
    30 авг 2009
    Сообщения:
    26
    Симпатии:
    0
    Адрес:
    Александров
    большое спасибо что помогли :-D разобрался сам, правда дольше вышло. проблема в кодировке, нужно кодировать в UTF-8