积极答复者
读取xml文件问题,谢谢!

问题
-
<m_nType>0C</m_nType><CQMETANUM>2</CQMETANUM><DWMETANUM>2</DWMETANUM><FWMETANUM>2</FWMETANUM><META>240,500,250,500</META><META>250,500,260,500</META><META>280,500,270,500</META><META>270,500,260,500</META><META>280,460,270,480</META><META>270,480,260,500</META><m_tectRect>256,504,263,519</m_tectRect></DC><m_nType>0C</m_nType><CQMETANUM>2</CQMETANUM><DWMETANUM>2</DWMETANUM><FWMETANUM>2</FWMETANUM><META>320,500,310,500</META><META>310,500,300,500</META><META>280,500,290,500</META><META>290,500,300,500</META><META>280,460,290,480</META><META>290,480,300,500</META><m_tectRect>296,504,303,519</m_tectRect>像以上xml文件中,用dataset的readxml()方法读取之后,整个有DC标记的会生成一个表,其中META会单独生成一个表,且用vs查看,和生成的DC表有对应关系,现在要写入数据库,用什么方法(非遍历xml文件),能使相应的DC行找到对应的META行呢???不是每个DC都有6个META,是可变化的。有没有相应的属性活方法,可以表示出相应DC和META的对应关心,用vs工具查看过,应该是有内部联系,但不知道怎么用代码找出来,谢谢!!
答案
-
DC_META不是一个 datacolumn 而是一个 relation
get childrows 和getparentrow 是根据一个关系relation作线索 找到符合条件的行
他们不需要添加到dc里面
你读取了整个xml 就对应了整个dataset
无论是DC表还是META表 都是这个dataset的成员
也就是说 无论是 DC这个结构 或者是 META这个结构 都是dataset的成员
我们没有办法让树形结构完整的存在于dataset的关系数据库中 但是我们可以用关系来表示父子关系
所以 getchildrows (relation)就已经很清楚明白的表明父子关系了 不必拘泥物理上的层次结构
- 已标记为答案 Raymond TangModerator 2011年3月7日 13:16
全部回复
-
你可以枚举 dataset的Relations集合 如果我估计没有错 读取了这个xml后会自动生成 一对多关系: DC_META
这样 如果有一个DC的row dr
dr=dataset.tables("DC").select()(0)
那么
dr.GetChildRows ("DC_META") 这个array 就是你需要的6个META
如果一个META的row mr
mr=dataset.tables("META").select()(0)
那么
mr.GetParentRows("DC_META") 就可以得到所有的符合条件的DC行array
如果确认是1对多的关系 也可以用 dr.GetParentRow("DC_META")
-
DC_META不是一个 datacolumn 而是一个 relation
get childrows 和getparentrow 是根据一个关系relation作线索 找到符合条件的行
他们不需要添加到dc里面
你读取了整个xml 就对应了整个dataset
无论是DC表还是META表 都是这个dataset的成员
也就是说 无论是 DC这个结构 或者是 META这个结构 都是dataset的成员
我们没有办法让树形结构完整的存在于dataset的关系数据库中 但是我们可以用关系来表示父子关系
所以 getchildrows (relation)就已经很清楚明白的表明父子关系了 不必拘泥物理上的层次结构
- 已标记为答案 Raymond TangModerator 2011年3月7日 13:16