从C中的字符串中获取特定部分的文本

时间:2013-12-02 00:58:14

标签: c string

对于我正在处理的程序,我需要从在线xml文档中获取特定区域的信息。现在我将xml保存为字符串,然后使用press=xml.substr(1906,5);从中获取我需要的内容。这是我从中提取信息的一行:<pressure_in>30.17</pressure_in>这个问题是如果两者之间的值超过指定的长度(在这种情况下为5个字符),我就无法获得所需的值。我怎么能可靠地得到它?

2 个答案:

答案 0 :(得分:1)

首先将字符串转换为xml结构,然后使用XPath选择器提取所需内容。这里有一个非常简单的例子:

http://xmlsoft.org/tutorial/apd.html

答案 1 :(得分:1)

您是否考虑过这样的事情:

#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main ()
{
    // sample string below:
    char* xmlText = "<pressure_in>30.17134</pressure_in>";
    int n = strlen(xmlText);
    for (int i = 0; i<n; i++) {
        if (isdigit(xmlText[i]) || xmlText[i] == '.') {
            // store result or just print:
            printf("%c",xmlText[i]);
        }
    }
    printf("\n")
    return 0;
}

输出:

30.17134