转换文本文件,XML文件

问题描述:

我想分析的文本文件,该文件是在下面的格式转换文本文件,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

尝试

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(); 

你可以做到这一点使用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> 

问题是微不足道的使用称为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>