Подключение внешних сущностей в xml документах.

Тема в разделе "PHP", создана пользователем PHPCod3r, 21 ноя 2011.

Модераторы: latteo
  1. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    Вообщем нужно работать с xml файлами в которых присутствуют внешнии
    сущности.
    Вот например хотелось бы что бы такой скрипт отработал
    PHP:
    $string = <<<XML
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <!DOCTYPE document [
    <!ELEMENT title (#PCDATA)>
    <!ENTITY mystuff SYSTEM "file:///path/to/xml/file.xml">
    ]>
    <document>
     <title>&mystuff;</title>
    </document>
    XML;

    $xml = simplexml_load_string($string, "SimpleXMLElement", LIBXML_DTDLOAD);

    var_dump($xml);
    Но что то не хочет он работать и все...
    Может версия пхп не та(все тестирую на 5.3.8), или настройки какие надо подкрутить?
    Еще игрался с такой функцией
    PHP:
    var_dump(libxml_disable_entity_loader ($disable FALSE));
    Но тоже без особого результата...
    Обьясните плиз в чем дело?
    Или хотя бы у кого есть возможность потестите пожалуйста, может у вас получиться эти внешнии сущности подрубить?
     
  2. dani.

    dani. Создатель

    Регистр.:
    19 сен 2008
    Сообщения:
    32
    Симпатии:
    6
    Прочти мануал, там несколько больше кода необходимо:
    http://php.net/manual/en/example.xml-external-entity.php