DIITHiTech
@DIITHiTech
Fullstack javascript developer

NodeJS: Есть ли парсер HTML подобного текста, который можно просто допилить для разбора такого типа документа?

Перед тем как писать небольшой велосипед, хочу прощупать может кто знает, есть ли полуфабрикат, который умеет парсить HTML подобный текст, и в коде которого проще всего допилить, чтоб некоторые теги он не парсил, просто считал это обычным текстом. Например чтоб он не парсил innerText псевдо-тега template, просто вытягивал текст. Заготовка документа для разбора выглядит примерно так:

<application title="player" target="window">

    <template name="main" engine="templayed">
        <!--doNotTryToParse innerText of template tag-->
        <div class="noobs-list">
           <span>Small template</span>
           {{name}}<ul>{{#names}}<li>{{name}}</li>{{/names}}</ul>{{^names}}Sorry, no people to list!{{/names}}
        </div>
    </template>

    <template src="modules/template1"></template>

    <link rel="stylesheet" href="stylesheets/player-some-uielements.css" type="text/css"/>
    <link rel="stylesheet" href="stylesheets/player.css" type="text/css" import/>

    <script src="./modules/listbox.js" side="client"></script>
    <script src="./modules/soundAPI.js" side="client"></script>

    <script>
       //doNotTryToParse innerText of script tag
        /***Global application code***/
    </script>

    <script side="server">
        //doNotTryToParse innerText of script tag
        /***Server application code***/
    </script>

    <script side="client">
        //doNotTryToParse innerText of script tag
        /***Client application code***/
    </script>

</application>
  • Вопрос задан
  • 3048 просмотров
Пригласить эксперта
Ответы на вопрос 2
AMar4enko
@AMar4enko
Берете любой XML парсер и вперед.
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
предлагаю парсить в два прохода.

1) обычный парсер посимвольный + регулярки. Находим тег template, отмечаем начало содержимого, находим конец, оборачиваем содержимое в CDATA, заменяем.

2) простой xml парсер + xpath

можно сделать за пару часов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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