需要将文本文件解析为特定的xml格式。(文件是一个巨大的百万行,看起来像这样)
ABC-DATA-FILE-VERSION: 2.0
OBJFILE: /home/abc/src/solaris/abc.o
TIMESTAMP: 1348314377 727216
SRCFILE: /home/abc/src/solaris/abc.C
167 7
170 7
174 0
179 0
174 0
192 7
196 7
199 7
215 0
OBJFILE: /home/abcd/src/solaris/abcd.o
TIMESTAMP: 1348314377 727216
SRCFILE: /home/abcd/src/solaris/abcd.C
58 7
65 7
66 7
67 7
69 0
79 0
84 0
97 14
100 7
108 14
110 7
115 14
OBJFILE: /home/abcd/src/solaris/xyz.o
TIMESTAMP: 1348314377 727216
SRCFILE: /home/abcd/src/solaris/xyz.C
978 0
979 1
993 0
996 0
997 0
1011 0
1003 0
1004 0
1011 0
现在我想将其转换为特定的 xml 文件格式。像
<packages>
<package name="com" line-rate="0.45161290322580644" branch-rate="0.4915254237288136" complexity="3.391891891891892">
<classes>
<class branch-rate="0" complexity="0" filename="/home/abcd/src/solaris/abcd.C" line-rate="0.25" name="TestRunnerModel">
<methods/>
<lines>
<line number="13" hits="1" branch="true"/>
<line number="14" hits="1" branch="true"/>
<line number="15" hits="1" branch="false"/>
<line number="12" hits="0" branch="false"/>
</lines>
</class>
<class branch-rate="0" complexity="0" filename="/home/abcd/src/solaris/abcd.C" line-rate="0.25" name="TestRunnerModel">
<methods/>
<lines>
<line number="13" hits="1" branch="true"/>
<line number="14" hits="1" branch="true"/>
<line number="15" hits="1" branch="false"/>
<line number="12" hits="0" branch="false"/>
</lines>
</class>
<class branch-rate="0" complexity="0" filename="/home/abcd/src/solaris/xyz.C" line-rate="0.25" name="TestRunnerModel">
<methods/>
<lines>
<line number="13" hits="1" branch="true"/>
<line number="14" hits="0" branch="true"/>
<line number="15" hits="1" branch="false"/>
<line number="12" hits="0" branch="false"/>
</lines>
</class>
</classes>
</package>
</packages>
大多数 xml 参数都是恒定的,只有少数我需要填充
从 SRCFILE 读取的文件名:/home/abcd/src/solaris/xyz.C 和
line number="978" hits="0" branch="true" line number="979" hits="1" branch="false" 等
等等。请帮忙。