Giriş
Şu satırı dahil ederiz.
Version 14 olan bir xml'i versiyon 13 olan xml_iarchive açamaz. Açıklaması şöyle
Çıktı olarak şunu alırız. boost_serialization signature="serialization::archive" version="10" boost'un kendi versiyon sayısıdır.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız. Her zaman BOOST_SERIALIZATION_NVP ile kullanılır. Macroya geçilen değişken ismi xml tag ismi olarak karşımıza çıkar.
Şöyle yaparız.
Şu satırı dahil ederiz.
#include <boost/archive/xml_oarchive.hpp>
Version İçin AçıklamaVersion 14 olan bir xml'i versiyon 13 olan xml_iarchive açamaz. Açıklaması şöyle
We ran into the trouble that the client is now built and delivered with Boost 1.60 while the Server is still 1.59. The client now sends an archive-version of 14 while the server only knows about 13. Therefore throwing an "unsupported version".XML Örnekleri
Çıktı olarak şunu alırız. boost_serialization signature="serialization::archive" version="10" boost'un kendi versiyon sayısıdır.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE boost_serialization>
<boost_serialization signature="serialization::archive" version="10">
<EventSet class_id="0" tracking_level="0" version="0">
<Size>1</Size>
<Event>
...
</Event>
</EventSet>
</boost_serialization>
Çıktı olarak şunu alırız. sz collection sınıfında kaç tane nesne olduğunu gösterir.<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE boost_serialization>
<boost_serialization signature="serialization::archive" version="14">
<tree class_id="0" tracking_level="0" version="0">
<sz>1</sz>
<INTERVAL class_id="1" tracking_level="0" version="0">
<bb>2</bb>
<l>28</l>
<u>39</u>
</INTERVAL>
<SET class_id="2" tracking_level="0" version="0">
<count>1</count>
<item_version>0</item_version>
<item class_id="3" tracking_level="0" version="0">
<city_>cpur</city_>
<low_>28</low_>
<high_>39</high_>
</item>
</SET>
</tree>
Constructor - streamŞöyle yaparız.
ba::xml_oarchive oa (std::cout);
Constructor - stream + flagŞöyle yaparız.
std::stringstream oss;
ba::xml_oarchive oa (oss, boost::archive::no_header);
operator << metodu - classŞöyle yaparız. Her zaman BOOST_SERIALIZATION_NVP ile kullanılır. Macroya geçilen değişken ismi xml tag ismi olarak karşımıza çıkar.
Foo foo;
oa << BOOST_SERIALIZATION_NVP(foo);
Çıktı olarak no_header kullanmazsak şunu alırız.<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE boost_serialization>
<boost_serialization signature="serialization::archive" version="14">
<foo class_id="0" tracking_level="0" version="0">
...
</foo>
</boost_serialization>
operator << metodu - STLŞöyle yaparız.
std::set<something> my_set; // populate it somehow too
oa << boost::serialization::make_nvp("Things", my_set);
Çıktı olarak no_header kullanırsak şunu alırız.<Things>
<item>element of set</item>
<item>another first element of set</item>
</Things>
Hiç yorum yok:
Yorum Gönder