(Node.js / Java) Как сделать вывод XML красивым

Я пытался сделать вывод в XML красивым, но не мог этого сделать, я хочу сделать это в node.js, а также в java (android).

Мой ввод XML:

  <custom.TextView 
  android:id = "@+id/textView2" 
  android:layout_width = "wrap_content" 
  android:layout_height = "wrap_content" 
  android:text = "TextView" tools:layout_editor_absoluteX = "164dp" /> 

После анализа этого кода вывод

<custom.TextView android:id = "@+id/textView2" android:layout_width = "wrap_content" android:layout_height = "wrap_content"  android:text = "TextView" tools:layout_editor_absoluteX = "164dp" /> 

И мой ожидаемый результат

 <custom.TextView 
  android:id = "@+id/textView2" 
  android:layout_width = "wrap_content" 
  android:layout_height = "wrap_content" 
  android:text = "TextView" tools:layout_editor_absoluteX = "164dp" /> 

как я могу это сделать, пожалуйста, помогите мне!

Это немного непонятно. Как вы производите этот результат? Вы сами распечатываете? Он находится в редакторе, и вы хотите его отформатировать?

nikos fotiadis 27.11.2018 22:44

Очень мало XML-сериализаторов складывают атрибуты вертикально, как вы показываете. Тот, который работает на Saxon, хотя (а) он не делает это в точности так, как вам хотелось бы, и (б) он недоступен на выбранных вами платформах. Я думаю, что если вам действительно нужен этот макет, вам, возможно, придется самому его кодировать.

Michael Kay 27.11.2018 22:53

Ну, я пробовал с 2 недель, в основном я занимаюсь синтаксическим анализом xml с помощью xmldom в node.js, синтаксический анализ выполнен, но формат изменен для всех тегов, как я могу сохранить формат, это мой вопрос

Usman Hassan Chattha 28.11.2018 08:21
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
196
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Хотя подход, используемый в этом сценарии, не очень хорош, но вы можете попробовать этот код для хорошего вывода, в приведенном ниже коде вы можете предоставить свой xml, а затем он украсит его по вашему желанию.

    var arrayEml= xml = '';

    for (var i = 0; i < xml.length; i++) {
        if ((xml[i].match(/[a-zA-Z]/)) && (xml[i + 1] == ' ') && (xml[i + 2].match(/[a-zA-Z]/))) {
            arrayEml += (xml[i] + '\n');
        } else {
            arrayEml += xml[i];
        }
        // }
    }
    var againParsing = ' ';
    for (var i = 0; i < arrayEml.length; i++) {

        if ((xml[i] = '"') && (xml[i + 1] == ' ') && (xml[i + 2].match(/[a-zA-Z]/))) {
            againParsing += (xml[i] + '\n' + "\t   ");
        } else {
            againParsing += xml[i];
        }
    }

Большое спасибо, он полностью решил мою проблему, большое спасибо :) <3

Usman Hassan Chattha 28.11.2018 19:14

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