XMLBind を coderepos にアップロード
昔書いた C++ の XML バインディングである XMLBind を coderepos にアップロードしました。
http://coderepos.org/share/browser/lang/cplusplus/XMLBind/
ドキュメントは探さないと出てこないけど、こんな感じ。
たとえば、
struct Date { int year; int month; int day; };と
<Date> <year>2003</year> <month>12</month> <day>18</day> </Date>を相互変換したい場合は、
// 変換情報の定義 struct XBTraits<Date> : public XBTraitsBase<Date> { XBObjectBindingW GetBinding() { return XB_STRUCT( XB_BIND("year", year, 0, XBTypeElement, 1) | XB_BIND("month", month, 0, XBTypeElement, 1) | XB_BIND("day", day, 0, XBTypeElement, 1)); } }; // 読込 char* xml = "<date><year>2003</year><month>12</month><day>18</day></date>"; Date date; try { XBParseXML(date, XBGetBinding(&date, "date"), xml, ::strlen(xml)); } catch (XBError e) { exit(1); } catch (XBXMLError e) { exit(1); } // 保存 std::string xml = XBSerialize(date, XBGetBinding(&date, "date"));http://ml.tietew.jp/cppll/cppll/thread_articles/9980
DOM とか使ってていいのは中学生までよねー きゃははー