2011-08-01 15 views
0

マネージコード(CLI)なしのXmlWriter(xmlserialization)を使用する可能性はありますか?マネージコードなしのxmlシリアル化?

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)); 
} 

答えて

1

はいを​​していません。

はい、マネージコードなしでXMLマニピュレーション(シリアル化を含む)を行うことは可能です - 通常はMSXMLを使用してこれを行いますが、C++でXMLシリアル化を実行する方法はさまざまですほぼ確実に見える最初の場所です)。

しかしこれはSystem.Xml.Serialization名前空間に含まれているものとは異なるメカニズムを使用しています。残念ながら、あなたのための.NETでXMLシリアル化は、すべてのマネージコードで実装され、そしてあなたがそれを使用したい場合ので、あなたは(/clrコンパイラオプションまたはCOM相互運用機能を使用することにより、例えば)マネージコードに呼び出す必要があります。

+0

ご回答をありがとう!問題は、あなたの記事に書いてあるように、C++のcli(マネージコード)はIntelliSenseをサポートしていないことです。これは今後の実装に役立ちます。/clr(マネージコード)を使用すると、Visual Studio 2010 C++でIntelliSenseを使用する可能性はありますか? – Peter

1

たぶんboost::serialization libaryは、あなたが探しているものです。

シリアル化機能は、むしろCに限定されているので、++ boost::serializationは、より多くのあなたがあなた自身のクラスをシリアル化可能にするために有効なフレームワークのようなものです。