我一直在尝试用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" />
我该怎么做才能帮助我!
答案 0 :(得分: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];
}
}