【发布时间】:2011-06-20 13:04:12
【问题描述】:
我有一个 xml 文件,我必须读取并解析它以找出一个值。
我在文件的两个位置的标签中提到了这个值,如下所示:
<length>xx</length>
<length type = "float">yy</length>
我需要提取 xx 和 yy。我正在使用简单的字符串函数(由于大小限制,我不能使用 xml 解析器)。
哪些字符串函数可以帮助我提取 xx 和 yy?
我在这些行上尝试了 strtok() 但没有成功..:
fp = fopen( "trial.xml", "r" );
if(fp == NULL){
perror("file missing");
}
while (fgets (buffer, sizeof (buffer), fp) != NULL) {
char *p;
p = strstr(buffer, "<length");
if(p != NULL){
printf("p = %s\n", p);
p = strtok (p, "<>");
printf("strtok 1, p = %s\n", p);
p = strtok (NULL, "<>");
printf("p = %s\n", p);
}
【问题讨论】:
-
请随意选择您之前的一些问题的答案。这就是本网站的运作方式。
-
“由于大小限制,我不能使用 xml 解析器”.. 为什么有这些限制?你不能简单地使用像 TinyXML 这样小的东西吗?
-
是的,我认为你应该使用解析器
-
好的,让我看看 TinyXML :) 还有其他建议吗?
-
任何最小的 C 库(xml 解析器?)?