просто заменил пространство имен пустой строкой. Прекрасно работает для меня. Тестируемое решение в браузерах: 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-документа в строку
Мое решение для 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 и документация симфонии я получил свое собственное решение: Расширение Ветки шаблонная обработка