xmlserialization без управляемого кода? - PullRequest
0 голосов
/ 01 августа 2011

Есть ли возможность использовать xmlwriter (xmlserialization) без управляемого кода (cli)?

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

Ответы [ 2 ]

1 голос
/ 01 августа 2011

Возможно, вы ищете библиотеку boost :: serialization .

Возможности сериализации в C ++ довольно ограничены, поэтому boost :: serialization больше похож нафреймворк, позволяющий вам сделать ваши собственные классы сериализуемыми.

1 голос
/ 01 августа 2011

Да и нет.

Да, можно выполнить манипуляцию XML (включая сериализацию) без управляемого кода - обычно я делаю это с использованием MSXML , однако существуют различные способы выполненияСериализация xml в C ++ (я на самом деле не человек C ++, но Google, наверняка, первое, что нужно искать).

Однако здесь используется механизм, отличный от тех, которые содержатся в пространстве имен System.Xml.Serialization.К сожалению для вас, сериализация Xml в .Net все реализована в управляемом коде, и поэтому, если вы хотите использовать его, вам нужно будет обратиться к управляемому коду (например, с помощью опции компилятора /clr или взаимодействия COM).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...