将文本文件转换为XML文件

时间:2013-05-14 12:47:43

标签: xml text-files

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

文本文件数据的示例

key1:value1
key2:value2
key3:value3

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

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

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

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

你能不能请一个人更好地了解如何解决这个问题,或者你能不能给我一个示例代码或教程链接?

3 个答案:

答案 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='&lt;string name="\1"&gt;\2&lt;/string&gt;'
                   byline="true"/>

</target>