tôi cải thiện phương pháp chính của bạn ở trên làm việc cho tôi:
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();
}
}
bạn sẽ có thể thực hiện điều này với một số phép thuật XSLT ... – Ben
"Magic" đó sẽ chỉ áp dụng trong vấn đề ngược lại (từ tệp XML của Android, tới tệp văn bản iPhone phẳng). XSLT chỉ có thể chuyển đổi từ XML sang XML/TEXT/HTML. Anh ấy không may mắn lần này. –
@ Jenusz tôi đã nhận được cùng một yêu cầu, vui lòng bạn có thể hướng dẫn tôi rằng làm thế nào tôi có thể đạt được điều này? Nếu u có bất kỳ mã mẫu sau đó xin vui lòng gửi cho tôi trên farhanshah_1987 @ yahoo.com, cũng +1 từ tôi .. cảm ơn –