Экземпляр оператора в Twig / Symfony 2?

просто заменил пространство имен пустой строкой. Прекрасно работает для меня. Тестируемое решение в браузерах: Firefox, IE, Chrome

. Моя задача состояла в том, чтобы читать и анализировать EXCEL-файл через API-интерфейс Sharepoint EXCEL REST. XML-ответ содержит теги с пространством имен «x:».

Я решил заменить пространство имен в XML пустой строкой. Работает следующим образом: 1. Получите узел интереса из XML-ответа 2. Преобразуйте выбранный узел XML-Response (Document) в String 2. Замените пространство имен пустой строкой 3. Преобразуйте строку обратно в XML-документ

См. схему кода здесь ->

function processXMLResponse)(xData)
{
  var xml = TOOLS.convertXMLToString("", "",$(xData).find("entry content")[0]);
  xml = xml.replace(/x:/g, "");            // replace all occurences of namespace
  xData =  TOOLS.createXMLDocument(xml);   // convert string back to XML
}

Для преобразования XML-to-String найдите решение здесь: http://www.sencha.com/forum/showthread. PHP? 34553-Convert-DOM-XML-документа в строку

13
задан j0k 20 September 2012 в 19:40
поделиться

1 ответ

Мое решение для Symfony 4.3

1), Создают класс AppExtension в src/Twig папке. (Класс автоматически обнаруживается).

2) Расширяют класс AbstractExtension:

namespace App\Twig;

use Twig\Extension\AbstractExtension;
use Twig\TwigTest;

class AppExtension extends AbstractExtension
{
    public function getTests()
    {
        return [
            new TwigTest('instanceof', [$this, 'isInstanceof'])
        ];
    }

    /**
     * @param $var
     * @param $instance
     * @return bool
     */
    public function isInstanceof($var, $instance) {
        return  $var instanceof $instance;
    }
}

3) Затем используют тот же код ответа valdas.mistolis:

{% if value is instanceof('DateTime') %}

4) Спасибо valdas.mistolis и документация симфонии я получил свое собственное решение: Расширение Ветки шаблонная обработка

0
ответ дан 1 December 2019 в 06:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: