是否可以在没有托管代码(cli)的情况下使用xmlwriter(xmlserialization)?

using namespace System::Xml;
using namespace System::Xml::Schema;
using namespace System::Xml::Serialization;


我的XML序列化托管代码:

void TXML_Interface::LoadXML( String^ filename )
{
XmlSerializer^ serializer = gcnew XmlSerializer( TTEST::typeid );

FileStream^ fs = gcnew FileStream( filename,FileMode::Open );
XmlReader^ reader = gcnew XmlTextReader( fs );

m_test = dynamic_cast<TTEST^>(serializer->Deserialize( reader ));
}

最佳答案

是的,没有。

是的,无需托管代码也可以进行XML操纵(包括序列化)-我通常使用MSXML进行此操作,但是在C ++中可以通过多种方式执行xml序列化(我不是真正的C ++人,但是Google几乎当然是第一个看的地方)。

但是,这使用的机制与System.Xml.Serialization命名空间中包含的机制不同。不幸的是,.Net中的Xml序列化都是在托管代码中实现的,因此,如果要使用它,则需要调用托管代码(例如,使用/clr编译器选项或COM interop)。

09-05 00:15