Как получить атрибут элемента из DOM в явном виде, без преобразования спецсимволов?

Европа - быстрые серверы на дисках NVMe от $5 / Русский датацентр от 199руб

Тема в разделе "PHP & XML-технологии", создана пользователем xintrea, 9 сен 2018.

  1. xintrea

    xintrea Новичок

    Сообщения:
    263
    Ваш город:
    Rostov-on-Don, Russia
    Address:
    Rostov-on-Don, Russia
    Country:
    Location on Map:
    Есть у меня XML-документы, в которых могут встречаться такие вещи:
    Код:
    <item id="14925" name="&lt;table&gt; - создание таблиц"/>
    
    Когда идет разбор данного XML через DOM, значение атрибута name получается с помощью вот такого кода:
    Код:
    $name=$currElement->getAttribute("name");
    
    Проблема в том, что метод getAttribute() автоматически преобразует строку атрибута так, что спецсимволы в строке атрибута будут преобразованы в настоящие символы. И поэтому в переменной $name будет значение:
    Код:
    "<table> - создание таблиц"
    
    А мне необходимо, чтобы значение атрибута было взято как есть, без преобразования.

    Вот тут похожая проблема (только в обратную сторону), но ответа никто не знает:
    https://ru.stackoverflow.com/questions/822685/domelementsetattribute-добавить-в-атрибут-спецсимволы


    Вопрос: как получить значение атрибута из DOM в явном виде?
     
  2. AnrDaemon

    AnrDaemon Продвинутый новичок

    Сообщения:
    4.641
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Не надо.
     
    Adelf нравится это.
  3. WMix

    WMix герр M:)ller Партнер клуба

    Сообщения:
    6.311
    Ваш город:
    Berlin
    Address:
    Berlin, Germany
    Country:
    Location on Map:
    То что тебе вернулось, это и есть первоначальный вид. В соурсах xml это не начальный, это по правилам xml заэскейпеный первоначальный вид. Если тебе необходимо вставть данные в новый xml, воспользуйся http://php.net/htmlspecialchars
     
  4. AnrDaemon

    AnrDaemon Продвинутый новичок

    Сообщения:
    4.641
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Если использовать DOM, то он сам эскейпит что надо.