所以我一直在试图围绕xerces XML库创建一些类,以便从其余的项目中'隐藏'它的基础xml库保持独立于我的其余部分项目。用于XML库的C++'包装类'
这应该是一个相当简单的任务,但是通过编写一些类来隐藏某个库的其余部分似乎完全不可能。
我得到了错误的方法,还是我的'包装'的想法完全愚蠢?
我结束了这样的事情:
DOMElement* root(); //in my 'wrapper' class, however this DOMElement is part of the xerces library, at this point my 'wrapper' is broken. Now I have to use the xerces library everywhere I want to use this function.
哪里是我的思维出了问题?
你在用XML做什么?我想问的原因是这样的,而不是包装XML库并将包装类暴露给您的代码,为什么不实现一个更简单的对象模型来存储您在XML中存储的内容并公开它 - 然后有一个干净的接口可以保持/从XML中提取该对象模型? – Nim 2010-12-14 08:43:01
@Nim,XML用于通过网络连接与客户端进行通信。它将XML字符串保留为xml的某种“格式”,我只需要在获取请求时将其分开,并将其与答案放在一起。 – 2010-12-14 08:44:55
所以我会说它在整个项目中的角色并不是很大,但它仍然必须在那里,因为我无法改变客户端的东西。 – 2010-12-14 08:45:39