java - (Node.js/Java) 如何使 XML 输出漂亮

标签 java node.js xml xml-parsing pretty-print

我一直在尝试在 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" /> 

我该怎么做,请帮助我!

最佳答案

虽然在这个场景中使用的方法不是很好,但是你可以尝试这个代码以获得漂亮的输出,在下面的代码中你可以提供你的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];
        }
    }

关于java - (Node.js/Java) 如何使 XML 输出漂亮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53507920/

相关文章:

java - 如何防止一个部件在关闭时覆盖另一个部件的位置

java - "import java.util.*; or import java.util.random;"

php - 在 Symfony2 中反序列化或解析 XML 响应

java - 在 XML 中发送非标准字符

java - Android 操作栏文本自定义颜色

Java Date 对象解析精度在 SimpleDateFormat 上关闭

java - Swagger 的 JSON 文件上的空值

node.js - FFMPEG 在 AWS lambda 函数中不起作用

node.js - 无法更新 mongodb 中的单个数据

node.js - 在 Node JS - Express 应用程序中将注册用户保存到 MongoDB 时出现问题