xml文件是变长的,例如table表的个数是不定的,每个table中的field数目也是不确定的。
现在将xml遍历后,想把每个table中的每个field存储,是不是需要定义结构?还是动态数组?
具体如何操作?请高手指点,把全部分数奉上!
<database>
<table1>
<field1>id...
<field2>name...
</table1>
<table2>
<field1>type...
<field2>game...
<field3>id...
</table2>
<table3>
...
</table3>
</database>
现在将xml遍历后,想把每个table中的每个field存储,是不是需要定义结构?还是动态数组?
具体如何操作?请高手指点,把全部分数奉上!
<database>
<table1>
<field1>id...
<field2>name...
</table1>
<table2>
<field1>type...
<field2>game...
<field3>id...
</table2>
<table3>
...
</table3>
</database>
struct Table1
{
char filed1[fildLength];
char field2[fildLength];
}struct Table2
{
char filed1[fildLength];
char field2[fildLength];
char field3[fildLength];
}
...
,定义数据链表
list<Table1> m_Table1;
list<Table2> m_Table2;
...
然后循环读xml中的table1节点
while(pElement->NextSubElement("Table1"))
{
Table1 mStruct;
mStruct.field1 = pElement->QueryStringValue("field1");
mStruct.field2 = pElement->QueryStringValue("field2");
m_Table1.push_back(mStruct);
}pElement = RootElement;
循环读xml中的table2节点..
...
伪代码~:)
<database>
<table1>
<field1> id...
<field2> name...
</table1>
<table2>
<field1> type...
<field2> game...
<field3> id...
</table2>
<table3>
...
</table3>
</database>
下次再来散分
你好,我回去认真的做了一下,由于xml中每个table中的字段数目是可变的,也就是说,在定义table结构的时候,结构体里面的field1,field2,field3...个数是不确定的,请问这样的结构如何定义呢?
{
string name;
string value;
};typedef vector<fieldpair> fieldvector;
typedef list<fieldvector*> tablelist;