读取XML文件可以使用tinyxml开源代码进行,相关代码可以在MSDN中下载。
data.xml文件内容为:
<setting>
<server>
<IP>192.168.0.94</IP>
<PORT1>5500</PORT1>
<PORT2>5056</PORT2>
<PORT3>5057</PORT3>
</server>
</setting>
//读取Xml文件,并遍历
//创建一个XML的文档对象。
TiXmlDocument* myDocument = new TiXmlDocument("data.xml");
//检查文件是否存在
if( fopen("data.xml", "r") == NULL)
{
return;
}
myDocument->LoadFile();
//获得根元素,即Persons。
TiXmlElement *RootElement = myDocument->RootElement();
//输出根元素名称,即输出Persons。
//获得第一个Person节点。
TiXmlElement *FirstPerson = RootElement->FirstChildElement();
//获得第一个Person的name节点和age节点和ID属性。
TiXmlElement *IPElement = FirstPerson->FirstChildElement();
TiXmlElement *port1Element = IPElement->NextSiblingElement();
TiXmlElement *port2Element = port1Element->NextSiblingElement();
TiXmlElement *port3Element = port2Element->NextSiblingElement();
//获取数据
const char *IP = IPElement->FirstChild()->Value();
const char *PORT1 = port1Element->FirstChild()->Value();
//把结果写入TREECTRL 控件
HTREEITEM hItem,hSubItem;
hItem = m_tree.InsertItem(IP,TVI_ROOT);//在根结点上添加Parent1
hSubItem = m_tree.InsertItem("Child1_1",hItem);//在Parent1上添加一个子结点
hSubItem = m_tree.InsertItem("Child1_2",hItem,hSubItem);//在Parent1上添加一个子结点,排在Child1_1后面
hSubItem = m_tree.InsertItem("Child1_3",hItem,hSubItem);
hItem = m_tree.InsertItem("Parent2",TVI_ROOT,hItem);
hItem = m_tree.InsertItem("Parent3",TVI_ROOT,hItem);
delete myDocument;
myDocument=NULL;