0

我想解析以下格式的文本文件的内容

文本文件数据示例

key1:value1
key2:value2
key3:value3

现在我想用键值格式解析上面的内容,并从这个文本文件中创建一个 xml 文件。

xml文件数据示例(我想要这种格式)

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

这应该通过 Windows 中的脚本文件或命令提示符来完成。

你能否请蚂蚁有一个更好的想法如何解决这个问题,或者你能给我一个示例代码或教程链接吗?

4

3 回答 3

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>
于 2013-05-14T19:28:52.707 回答
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();
于 2013-05-14T13:07:06.813 回答
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>
于 2013-05-14T13:13:49.523 回答