Listing 4: Class CustomerOrder.
#if !defined(CUSTOMERORDER__H) #define CUSTOMERORDER__H #include "XmlBinding.h" #include <iostream> using std::wostream; class CustomerOrder { BEGIN_XML_BINDING(L"CustomerOrder", CustomerOrder) XML_ELEMENT(L"OrderID", eXML_INT, m_OrderID) XML_ELEMENT(L"Customer", eXML_STRING, m_CustomerName) XML_ELEMENT(L"Item", eXML_STRING, m_ItemName) XML_ELEMENT(L"Unit", eXML_STRING, m_Unit) XML_ELEMENT(L"Quantity", eXML_DOUBLE, m_Quantity) END_XML_BINDING() int m_OrderID; wchar_t m_CustomerName[20]; wchar_t m_ItemName[20]; wchar_t m_Unit[20]; double m_Quantity; public: friend wostream& operator << (wostream& wo, const CustomerOrder& order); }; wostream& operator << (wostream& wo, const CustomerOrder& order) { return wo << L"Order " << order.m_OrderID << L" from " << order.m_CustomerName << L": " << order.m_ItemName << L" " << order.m_Quantity << L" " << order.m_Unit << L"s has been processed." << std::endl; } #endif