无法使用 XMLDocument - "incomplete type is not allowed"
Can't use XMLDocument - "incomplete type is not allowed"
我正在尝试解析 XML 内容。
我想使用 XMLDocument
但是当我这样使用它时:
XMLDocument doc;
我收到一个错误:
incomplete type is not allowed
当我搜索这个问题时,我发现一些 places 使用这些库编写示例:
#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 requires C++/CLI mode
我需要做什么才能使用 XMLDocument
对象?
如果您查看示例源文件 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
。
- 将源文件添加到项目时,right-click
cpp
文件并选择 properties:
- 接下来,你需要告诉它不要使用预编译头文件:
现在您不需要 #include stdafx.h
调用。
如您所见,XMLDocument 也是 Microsoft .NET Framework class:
如果没有 tinyxml2
命名空间,它将默认为此 .NET Framework class。这需要一个兼容的应用程序,对于 C++,这意味着 C++/CLI 项目.
我正在尝试解析 XML 内容。
我想使用 XMLDocument
但是当我这样使用它时:
XMLDocument doc;
我收到一个错误:
incomplete type is not allowed
当我搜索这个问题时,我发现一些 places 使用这些库编写示例:
#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 requires C++/CLI mode
我需要做什么才能使用 XMLDocument
对象?
如果您查看示例源文件 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
。
- 将源文件添加到项目时,right-click
cpp
文件并选择 properties:
- 接下来,你需要告诉它不要使用预编译头文件:
现在您不需要 #include stdafx.h
调用。
如您所见,XMLDocument 也是 Microsoft .NET Framework class:
如果没有 tinyxml2
命名空间,它将默认为此 .NET Framework class。这需要一个兼容的应用程序,对于 C++,这意味着 C++/CLI 项目.