我想解析文本文件的内容,格式如下
文本文件数据的示例
key1:value1
key2:value2
key3:value3
现在我想用键值格式解析上面的内容,并从这个文本文件中创建一个xml文件。
xml文件数据的示例(我想要这种格式)
<string name="key1">value1</string>
<string name="key2">vaue2</string>
<string name="key3">value3</string>
这应该通过Windows或命令提示符中的脚本文件来完成。
你能不能请一个人更好地了解如何解决这个问题,或者你能不能给我一个示例代码或教程链接?
答案 0 :(得分: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>
答案 1 :(得分: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();
答案 2 :(得分:0)
您可以使用Ant执行此操作。这是一个执行你要求的Ant目标:
<target name="text2xml">
<copy file="originalfile.txt" tofile="xmlfile.xml" overwrite="true"/>
<replaceregexp file="xmlfile.xml"
match="(.*):(.*)"
replace='<string name="\1">\2</string>'
byline="true"/>
</target>