我提高了你的主要方法上面爲我工作:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.Scanner;
public class StringsConverter {
public static void main(String[] args) throws IOException {
Scanner fileScanner = new Scanner(new FileInputStream(args[0]), "utf-16");
Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(args[1])), "UTF8"));
writer.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n");
while (fileScanner.hasNextLine()) {
String line = fileScanner.nextLine();
if (line.contains("=")) {
String[] parts = line.split("=");
parts[0] = parts[0].trim()
.replace(" ", "_")
.replace("\\n", "_")
.replace("-", "_")
.replace("\"", "")
.replace(";", "")
.replace("'", "")
.replace("/", "")
.replace("(", "")
.replace(")", "")
.replace("?", "_Question");
parts[1] = parts[1].trim().substring(1, parts[1].length()-3);
parts[1] = parts[1].replace("'", "\\'");
String nextLine = "<string name=\"" + parts[0] + "\">" + parts[1].trim() + "</string>";
System.out.println(nextLine);
writer.append(nextLine + "\n");
}
}
fileScanner.close();
writer.append("</resources>");
writer.close();
}
}
你應該可以用一些XSLT魔術來實現這個...... – Ben 2010-06-29 13:34:51
這個「魔術」只適用於相反的問題(從Android XML文件到平面iPhone文本文件)。 XSLT只能從XML轉換爲XML/TEXT/HTML。這次他運氣不好。 – 2010-06-29 13:49:56
@Jenusz我已經得到相同的要求,請問你能指導我如何實現這個目標嗎?如果你有任何示例代碼,請發送我farhanshah_1987 @ yahoo.com,也+1我..謝謝 – 2014-04-30 07:06:54