Как избежать фрагмента кода XML, встроенного в страницу HTML - PullRequest
0 голосов
/ 06 сентября 2018

Мы создаем WebUI для серверной части, которая обрабатывает данные XML. Клиент хочет видеть XML в графическом интерфейсе пользователя вместе с обычными элементами HTML (такими как заголовки, метки и поля ввода).

Вот какой-то псевдокод:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>

        <title></title>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
        <meta name="keywords" content=""/>
        <meta name="description" content=""/>

    </head>
    <body>
      <h1>Check Out that XML!</h1>

      <div>
        <!-- This does not work. Just to make clear what I want -->
        <?xml version="1.0" encoding="UTF-8"?>
        <note>
          <to>Tove</to>
          <from>Jani</from>
          <heading>Reminder</heading>
          <body>Don't forget me this weekend!</body>
        </note>
      </div>

      <p>What you see above is XML....</p>

    </body>
</html>

По сути, мы хотим создать область (скажем, div), которая отображает XML-файл в середине веб-сайта xhtml. (Разделение в нескольких окнах невозможно, так как нам нужно показать дополнительные данные вместе с файлом XML) Пользователи работают с IE11 и привыкли к / зависят от функции свертывания XML, которая поставляется с простым XML в окне браузера.

Какие существуют способы

  • отображение XML внутри сайта xhtml
  • выделите XML (в идеале, сделайте значения внутри XML более жирными, чем теги)
  • позволяет пользователю складывать части XML

Идеи, за которыми я уже следовал

  • экранировать XML + использовать prettify для выделения
    • без складывания
    • подсветка значений в XML не так хороша, как в IE

1 Ответ

0 голосов
/ 16 апреля 2019

Я создаю SAXHandler, который конвертирует все в закодированные строки. Методы, которые я использовал:

  • startCDATA ()
  • endCDATA ()
  • символы ()
  • StartElement ()
  • EndElement ()

Каждая из этих функций записана в список. После анализа я использовал содержимое списка в качестве результата.

Я ориентировался на это решение от Льва Мучника: http://www.levmuchnik.net/Content/ProgrammingTips/WEB/XMLDisplay/DisplayXMLFileWithJavascript.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...