如何在C中将文本转换为XML?

时间:2010-03-23 11:19:31

标签: c

如何创建一个打开文本文件的程序,并将其转换为XML文件?

XML可能如下所示:

<curso>
 <sigla>LTCGM</sigla>
 <NAlunos>1</NAlunos>
 <lista_alunos>
  <aluno>
   <numero>6567</numero>
   <nome>Artur Pereira Ribeiro</nome>
   <email>apereira@gmail.com</email>
   <estado>Aprovado</estado>
   <media_notas>13</media_notas>
   <maior_nota>16</maior_nota>
   <menor_nota>11</menor_nota>
  </aluno>
 </lista_alunos>
</curso>

2 个答案:

答案 0 :(得分:2)

由于XML通常是结构化的,而文本文件通常不是,因此您的第一步是编写一个解析器来读取文本文件并理解文本文件的结构。由于我不知道你的文本文件的格式,我无法给出更具体的答案。

在编写输出之前,必须转义那些在XML中具有特殊含义的字符,即&lt;,&gt;,&amp;。

完成实际输出,例如通过fprintf,这一部分没什么特别的。

答案 1 :(得分:0)

没有简单的方法可以做到这一点 - 因为不清楚纯文本标记中需要什么结构。

我认为,您可以在第一行生成XML标记,发出准任意开始标记,复制文件,扩展XML关键字符('&lt;','&gt;',' &amp;')进入相应的'&lt;','&gt;','&amp;'符号,然后以对应于开始标记的结束标记结束。

<?xml version='1.0'?>
<start>
#include &lt;stdio.h&gt;
int main(void) { print("Hello, XML\n"); return 0; }
</start>

更多信息取决于对文本文件中内容的了解。