Проблема с печатью угловых скобок с помощью модуля узла xml-builder

Я создаю XML-файл, используя модуль узла «xml-builder». Но когда я попытался написать угловые скобки («<» или «>»), я получил такие символы, как «<» и «>». Код выглядит следующим образом:

let builder = require('xmlbuilder', { encoding: 'utf-8' });
let name = "ABC";
let xml = builder.create('Slides');
xml.ele('props',"Hello").up();
xml.ele('name',"<Hello> "+name+" </Hello>").up();
xml.end({ pretty: true });
console.info(xml.toString())

Результат выглядит следующим образом:

<Slides>
  <props>Hello</props>
  <name>&lt;Hello&gt; ABC &lt;/Hello&gt;</name>
</Slides>

Что мне делать, чтобы напечатать < или > вместо &lt; или &gt;?

Замени их на &lt; и т.д ...

Zohir Salak 09.11.2018 05:15

Все еще не получается желаемый результат

Kushagra Sinha 09.11.2018 06:12

пожалуйста, просмотрите мой ответ @KushagraSinha, оставьте комментарий, если он не работает, или примите его, если он работает

mihai 10.11.2018 10:57
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
241
2

Ответы 2

Существует модуль npm декодировать-HTML, который будет обрабатывать тот же вариант использования, что и ваш.

var decode = require('decode-html');

console.info(decode('&lt;div class = "hidden"&gt;NON&amp;SENSE&apos;s&lt;/div&gt;'));
// -> '<div class = "hidden">NON&SENSE\'s</div>'

Все еще не получается желаемый результат

Kushagra Sinha 09.11.2018 06:21

Проблема в том, что вы пытаетесь создать дочерний элемент неверным способом, передавая некоторый xml в поле valuexml.ele. Модуль правильно выходит за рамки угловых скобок.

Что вам нужно сделать, так это создать еще один элемент с именем Hello и добавить его к элементу name. Вы можете сделать это, связав вызовы .ele в цепочку или используя их возвращаемые значения.

Вот правильный код:

let builder = require('xmlbuilder', { encoding: 'utf-8' });
let name = "ABC";
let xml = builder.create('Slides');
xml.ele('props',"Hello");
xml.ele('name')
   .ele("Hello", name);
xml.end({ pretty: true });
console.info(xml.toString())

Выход:

<Slides>
  <props>Hello</props>
  <name>
    <Hello>ABC</Hello>
  </name>
</Slides>

Сэр, на самом деле мне нужно создать раздел "cdata" в файле xml. Пример: «<notestext> <! [CDATA [{Notes Text}]]> </notestext>". Как создать этот раздел cdata?

Kushagra Sinha 10.11.2018 11:36

См. github.com/oozcitak/xmlbuilder-js/wiki#cdata-nodes или задайте другой вопрос

mihai 10.11.2018 11:39

Другие вопросы по теме