1

我正在尝试解析 XML 内容。
我想使用XMLDocument,但是当我这样使用它时:

XMLDocument doc; 

我收到一个错误:

不允许不完整的类型

当我搜索这个问题时,我发现有些地方使用这些库编写示例:

#using <mscorlib.dll>
#using <System.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Schema;

但是当我尝试这个时,我收到一个错误:

#using 需要 C++/CLI 模式

我需要做什么才能使用XMLDocumentobject ?

4

1 回答 1

2

如果您查看示例源文件xmltest.cpp,您将在顶部看到:

using namespace tinyxml2;

因此,当您看到如下代码时:

int example_1()
{
    XMLDocument doc;
    doc.LoadFile( "resources/dream.xml" );

    return doc.ErrorID();
}

它实际上是:

int example_1()
{
    tinyxml2::XMLDocument doc;
    doc.LoadFile( "resources/dream.xml" );

    return doc.ErrorID();
}

您必须使用tinyxml2命名空间来识别正确XMLDocument使用。


  • 将源文件添加到项目时,右键单击该cpp文件并选择属性

特性

  • 接下来,您需要告诉它不要使用预编译头文件

不使用预编译头文件

现在你不需要#include stdafx.h调用了。


如您所见,XMLDocument也是一个 Microsoft .NET Framework 类:

.NET 框架 XML 文档

如果没有tinyxml2命名空间,它将默认为此.NET Framework类。这需要一个兼容的应用程序,对于C++来说,这意味着一个C++/CLI 项目

于 2018-02-28T15:45:51.943 回答