2013-05-14 127 views
0

我想分析的文本文件,該文件是在下面的格式轉換文本文件,XML文件

文本文件數據的例子

key1:value1 
key2:value2 
key3:value3 

現在我想解析上述內容考覈的內容使用鍵值格式並從該文本文件中創建一個xml文件。 XML文件數據的

例子(我想這種類型的格式)

<string name="key1">value1</string> 
<string name="key2">vaue2</string> 
<string name="key3">value3</string> 

這要麼做徹底的在窗口或命令提示符腳本文件。

請問螞蟻有一個更好的想法如何解決這個問題,或者你可以請給我一個示例代碼或教程鏈接?

+0

爲什麼這個標籤作爲一個Android提問節目? – britzl 2013-05-14 13:14:06

回答

0

嘗試

BufferedReader reader=new BufferedReader(new InputStreamReader(in)); 
String line=null; 
out.write("<?xml version=\"1.0\"?>\r\n"); 
out.write("<resources>\r\n"); 

while((line=reader.readLine())!=null) { 
    out.write("<item>"+line+"</item>"); 
} 

out.write("</resources>"); 
out.close(); 

或嘗試這個

XMLOutputFactory output = XMLOutputFactory.newInstance(); 
XMLStreamWriter writer = output.createXMLStreamWriter(new BufferedWriter(new FileWriter(new File(FILE_PATH)))); 
writer.writeStartDocument("UTF-8","1.0"); 

// Write Whatever file you have as string 

writer.flush(); 
writer.close(); 
0

你可以做到這一點使用Ant。這裏是沒有你問什麼Ant目標:

<target name="text2xml"> 
    <copy file="originalfile.txt" tofile="xmlfile.xml" overwrite="true"/> 
    <replaceregexp file="xmlfile.xml" 
        match="(.*):(.*)" 
        replace='&lt;string name="\1"&gt;\2&lt;/string&gt;' 
        byline="true"/> 

</target> 
1

問題是微不足道的使用稱爲awk

$ awk -F: 'BEGIN{print"<data>"} {printf"<string name=\"%s\">%s</string>\n",$1,$2} END{print"</data>"}' input.txt 
<data> 
<string name="key1">value1</string> 
<string name="key2">value2</string> 
<string name="key3">value3</string> 
</data>