libxml2:通过http-Ressources读取XML失败

时间:2018-03-04 13:20:18

标签: c libxml2

我只是尝试通过MS Visual Studio使用libxml2读取/解析xml-Files。 到目前为止,安装成功。

首先尝试通过简单的c控制台应用程序中的xmlReadFile()读取在线http-xml。

在原始来源阅读它失败了,而阅读本地副本效果很好。

请参阅下面的完整代码。

通过

使用本地保存的xml文件
doc = xmlReadFile(loc, NULL, 0);

给出正确的结果"当前观察"。

但如果我尝试通过

获取在线xml文件
doc = xmlReadFile(rem, NULL, 0);

失败(doc == NULL) - > " I / O警告:无法加载HTTP资源"

问题: 是否有任何其他属性可以设置或其他东西,这可能会影响这个功能的行为?

整个代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <libxml/xmlreader.h>
#include <libxml/parser.h>

int main()
{
    const char *loc = "C:/Users/dirkn/Documents/Visual Studio 2017/Projects/ConsoleApplication1/Debug/PHLI.xml";
    const char *rem = "http://w1.weather.gov/xml/current_obs/PHLI.xml";
    xmlDoc *doc = NULL;
    doc = xmlReadFile(loc, NULL, 0);
    //doc = xmlReadFile(rem, NULL, 0); 

    if (doc == NULL) {
        printf("error: could not parse file.");
    }
    else
    {
        root_element = xmlDocGetRootElement(doc);

        if (root_element->name != NULL)
            printf(" %s\n", root_element->name);

        xmlFreeDoc(doc);    
    }

    /*
    * Cleanup function for the XML library.
    */
    xmlCleanupParser();
    return(0);
}

0 个答案:

没有答案