另外,问一下一个使用TinyXML的问题:
在使用TinyXML作为我的解析库,一个XML档结构如下:
- <?xml version="1.0" encoding="UTF-8" ?>
- <Cephei>
- <Trees>
- <Tree ID="0">
- <Vector X="322.2" Y="-0.406109" Z="967.369" />
- </Tree>
- <Tree ID="1">
- <Vector X="282.581" Y="-0.668536" Z="1161.47" />
- </Tree>
- <Tree ID="2">
- <Vector X="732.457" Y="-0.540434" Z="1359.69" />
- </Tree>
- </Trees>
- <HighHouses>
- <HighHouse>
- <Data Name="HighHouse#0" ID="0" Vector X="713.142" Vector Y="-0.0272089" Vector Z="951.435" />
- </HighHouse>
- <HighHouse>
- <Data Name="HighHouse#1" ID="1" Vector X="476.735" Vector Y="-0.514201" Vector Z="626.461" />
- </HighHouse>
- <HighHouse>
- <Data Name="HighHouse#2" ID="2" Vector X="397.348" Vector Y="-0.0405992" Vector Z="422.81" />
- </HighHouse>
- </HighHouses>
- </Cephei>
使用读取:
在首先读取Trees的时候,代码如下:
- // <Trees>
- TiXmlElement *tree = hRoot.FirstChildElement("Trees").FirstChild().Element();
- for (tree; tree; tree = tree->NextSiblingElement())
- {
- loadTree(tree); //装载树木
- }
- // </Trees>
可以正确的加载遍历到。
但是读取接下来的HighHouses节点,同样的代码:
- // <HighHouses>
- TiXmlElement *highhouse = hRoot.FirstChildElement("HighHouses").FirstChild().Element();
- for(highhouse; highhouse; highhouse = highhouse->NextSiblingElement())
- {
- loadHighHouse(highhouse);
- }
- // </HighHouses>
但是这里却出错了,请问这是什么原因内?
出错的意思是,这里的highhouse值无论HighHouse元素有多少个的情况下,highhouse->next总是0...
[/pre]
谢谢大家啦~