是否可以在没有托管代码(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)。