За последние 24 часа нас посетили 15820 программистов и 1668 роботов. Сейчас ищут 770 программистов ...

DOM-непонятная ошибка

Тема в разделе "PHP для новичков", создана пользователем deadlolman, 15 июн 2016.

  1. deadlolman

    deadlolman Новичок

    С нами с:
    14 июн 2016
    Сообщения:
    23
    Симпатии:
    1
    Warning: DOMDocument::createElement() [domdocument.createelement]: unterminated entity reference valgmae" in Z:\home\localhost\www\indexD.php on line 76

    День добрый. Не могу понять на что он ругается. В фал пишет верно, но почему ругается? Может кто сталкивался уже. Причем это на 640 итерации, я даже файл достал , проверил , там все ок.
    Строчка на которую ругается:
    PHP:
    1.  $name1 = $xml->createElement("name" ,$row['pol_name']);
    2. $recipient->appendChild($name1);
    Переменная $row['pol_name'] = "mpm agd" s.a. На 640 итерации.

    В чем тут проблема?
    Спасибо.




     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Ругается на первую строчку или вторую когда который ты опубликовал?
     
    metadon нравится это.
  3. deadlolman

    deadlolman Новичок

    С нами с:
    14 июн 2016
    Сообщения:
    23
    Симпатии:
    1
    1
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Где-то есть упоминание "valgmae"?
    Как создаётся $xml?
     
    metadon нравится это.
  5. deadlolman

    deadlolman Новичок

    С нами с:
    14 июн 2016
    Сообщения:
    23
    Симпатии:
    1
    Нету.
    PHP:
    1. $xml = new DOMDocument("1.0", "UTF-8");
    2. $xml->FormatOutput = true;
    3.     $string_value = $xml->saveXML();
    4. //root
    5.    
    6. while ($row = mysql_fetch_assoc($res)){
    7. //first block  
    8.     $issuanse = $xml->createElement("issuanse");
    9.     $issuanse->setAttribute("xmlns","http://www.w3schools.com");
    10.     $issuanse->setAttribute("sender",$row['sender']);
    11.     $xml->appendChild($issuanse);
    12.     $general = $xml->createElement("general");
    13.     $issuanse->appendChild($general);
    14.     $number = $xml->createElement("number" , $row['number']);
    15.     $general->appendChild($number);
    16.     $dateIssuance = $xml->createElement("dateIssuance" , $row['d_issuance']);
    17.     $general->appendChild($dateIssuance);
    18.     $dateTransaction = $xml->createElement("dateTransaction" , $row['d_transact']);
    19.     $general->appendChild($dateTransaction);
    20.     $documentType = $xml->createElement("documentType" , $row['doc_type']);
    21.     $general->appendChild($documentType);
    22. //next block
    23.     $provider = $xml->createElement("provider");
    24.     $issuanse->appendChild($provider);
    25.     $providerStatus = $xml->createElement("providerStatus" , $row['post_stat']);
    26.     $provider->appendChild($providerStatus);
    27.     $dependentPerson = $xml->createElement("dependentPerson" , $row['post_dep_p']);
    28.     $provider->appendChild($dependentPerson);
    29.     $residentsOfOffshore = $xml->createElement("residentsOfOffshore" , $row['post_resid']);
    30.     $provider->appendChild($residentsOfOffshore);
    31.     $specialDealGoods = $xml->createElement("specialDealGoods" , $row['post_spec']);
    32.     $provider->appendChild($specialDealGoods);
    33.     $bigCompany = $xml->createElement("bigCompany" , $row['post_big_c']);
    34.     $provider->appendChild($bigCompany);
    35.     $countryCode = $xml->createElement("countryCode" , $row['post_str']);
    36.     $provider->appendChild($countryCode);
    37.     $unp = $xml->createElement("unp" , $row['post_unp']);
    38.     $provider->appendChild($unp);
    39.     $name = $xml->createElement("name" , $row['post_name']);
    40.     $provider->appendChild($name);
    41.     $address = $xml->createElement("address" , $row['post_adr']);
    42.     $provider->appendChild($address);
    43. //next block
    44.     $recipient = $xml->createElement("recipient");
    45.     $issuanse->appendChild($recipient);
    46.     $recipientStatus = $xml->createElement("recipientStatus" , $row['pol_stat']);
    47.     $recipient->appendChild($recipientStatus);
    48.     $dependentPerson = $xml->createElement("dependentPerson" , $row['pol_dep_p']);
    49.     $recipient->appendChild($dependentPerson);
    50.     $residentsOfOffshore = $xml->createElement("residentsOfOffshore" , $row['pol_resid']);
    51.     $recipient->appendChild($residentsOfOffshore);
    52.     $specialDealGoods = $xml->createElement("specialDealGoods" , $row['pol_spec']);
    53.     $recipient->appendChild($specialDealGoods);
    54.     $bigCompany = $xml->createElement("bigCompany" , $row['pol_big_c']);
    55.     $recipient->appendChild($bigCompany);
    56.     $countryCode = $xml->createElement("countryCode" , $row['pol_str']);
    57.     $recipient->appendChild($countryCode);
    58.     $unp = $xml->createElement("unp" , $row['pol_unp']);
    59.     $recipient->appendChild($unp);
    60.     $name1 = $xml->createElement("name" ,$row['pol_name']);
    61.     $recipient->appendChild($name1);
    62.     $address = $xml->createElement("address" , $row['pol_adr']);
    63.     $recipient->appendChild($address);
    64. $xml->save('file2/'.$row['number'].'.xml');
    65.     $xml = new DOMDocument("1.0", "UTF-8");
    66.  
    67.  
    68.  
    69. }
    кратко. Все дело в том что все предыдущие файлы пишет нормально, потом ошибка, потом еще 200 чтук пишет нормально и на 201 опять эта ошибка. Но структура файла не меняется. Если я отключу вывод ошибок будет все работать как я и хотел и все запишется. но хотелось бы разобраться в чем тут соль.
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    У тебя там случайно не Denwer с php 5.2/5.3? Попробуй код запустить на чём-то свежем. Например open-server.ru там 5.6 и 7 есть.
     
    metadon нравится это.
  7. deadlolman

    deadlolman Новичок

    С нами с:
    14 июн 2016
    Сообщения:
    23
    Симпатии:
    1
    Я разобрался откуда ошибка. Дело в том что именно в XML не выводит знак '&'. Может знает кто как из БД его достать?
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @deadlolman что значит как из базы достать? Символ можно экранировать htmlspecialchars
     
    metadon нравится это.