C
crazycock
Unregistered / Unconfirmed
GUEST, unregistred user!
关于对象持久化到XML
看到CnPack也在使用着OmniXML(http://www.omnixml.com),他是一个可以将对象持久化到xml的控件,我用他可以实现持久化了,但是发现一个问题,SaveXML后,再LoadXML,发现对象的字体没有被恢复,它保存下来的XML代码如下:
<data PropFormat="node"><TMemo><Left>24</Left><Top>40</Top><Width>297</Width><Height>233</Height><Font><Charset>1</Charset><Color>255</Color><Height>-40</Height><Name>MS Sans Serif</Name><Style>[]</Style></Font><Lines Count="1"><l0>Memo1</l0></Lines><ParentFont>0</ParentFont><TabOrder>4</TabOrder></TMemo></data>
很明显,它保存了字体的属性=》<Font><Charset>1</Charset><Color>255</Color><Height>-40</Height><Name>MS Sans Serif</Name><Style>[]</Style></Font>
但是,对于字体的高度,他是保存为<Height>-40</Height>,但是,恢复的时候没有得到正常的字体属性,我手工在这段XML中添加了<Size>30</Size>,再恢复,就发现字体的大小如我所愿了。不知道这个是什么问题,OmniXML有源码的,小弟水平差,看不懂,希望前辈能够指点一下。
另外,如何在xml某节点处加入另一个xml文件的内容? 因为OmniXML可以把对象保存为一段XML代码,我想把它作为一个Node加入到其他xml文档中作为一个节点。
看到CnPack也在使用着OmniXML(http://www.omnixml.com),他是一个可以将对象持久化到xml的控件,我用他可以实现持久化了,但是发现一个问题,SaveXML后,再LoadXML,发现对象的字体没有被恢复,它保存下来的XML代码如下:
<data PropFormat="node"><TMemo><Left>24</Left><Top>40</Top><Width>297</Width><Height>233</Height><Font><Charset>1</Charset><Color>255</Color><Height>-40</Height><Name>MS Sans Serif</Name><Style>[]</Style></Font><Lines Count="1"><l0>Memo1</l0></Lines><ParentFont>0</ParentFont><TabOrder>4</TabOrder></TMemo></data>
很明显,它保存了字体的属性=》<Font><Charset>1</Charset><Color>255</Color><Height>-40</Height><Name>MS Sans Serif</Name><Style>[]</Style></Font>
但是,对于字体的高度,他是保存为<Height>-40</Height>,但是,恢复的时候没有得到正常的字体属性,我手工在这段XML中添加了<Size>30</Size>,再恢复,就发现字体的大小如我所愿了。不知道这个是什么问题,OmniXML有源码的,小弟水平差,看不懂,希望前辈能够指点一下。
另外,如何在xml某节点处加入另一个xml文件的内容? 因为OmniXML可以把对象保存为一段XML代码,我想把它作为一个Node加入到其他xml文档中作为一个节点。