c语言编写程序XMLtoTXT自动将XML文件email.xm/转换为文本文件email.txt。命今行搭式:X MLtoTXT email.xml email.txt。
时间: 2024-03-12 10:49:19 浏览: 121
XML.tar.gz_C读取xml文件_XML c语言_c语言 xml
5星 · 资源好评率100%
好的,以下是一个 C 语言编写的 XML 转 TXT 的程序,可以通过命令行参数指定输入和输出文件名:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
int main(int argc, char *argv[]) {
if (argc != 3) {
printf("Usage: XMLtoTXT input_file output_file\n");
return 1;
}
char *input_file = argv[1];
char *output_file = argv[2];
// 打开 XML 文件
xmlDocPtr doc = xmlParseFile(input_file);
if (doc == NULL) {
printf("Failed to parse %s\n", input_file);
return 1;
}
xmlNodePtr root = xmlDocGetRootElement(doc);
// 获取所有文本内容,并写入 TXT 文件
FILE *fp = fopen(output_file, "w");
if (fp == NULL) {
printf("Failed to open %s\n", output_file);
return 1;
}
for (xmlNodePtr cur = root; cur != NULL; cur = cur->next) {
if (cur->type == XML_ELEMENT_NODE && cur->children != NULL) {
xmlChar *content = xmlNodeGetContent(cur->children);
fprintf(fp, "%s\n", content);
xmlFree(content);
}
}
fclose(fp);
xmlFreeDoc(doc);
xmlCleanupParser();
return 0;
}
```
你可以在命令行中运行 `XMLtoTXT email.xml email.txt` 来将 email.xml 文件转换为 email.txt 文件。请注意,这个程序依赖 libxml 库,请确保已经安装该库并链接到程序中。
阅读全文