XML通讯录求助!
这是我的通讯录XML文件结构部分
<peoples>
<people>
<datas>
<data>
<mimetype>name</mimetype>
<value>婊曞嚡鍗?/value>
<firstName>婊?/firstName>
<LastName>鍑崕</LastName>
</data>
<data>
<mimetype>cooperation</mimetype>
<value>娴庡崡鑸滃痉绔熷ぉ杞欢鏈夐檺鍏徃</value>
<CooperationName>娴庡崡鑸滃痉绔熷ぉ杞欢鏈夐檺鍏徃</CooperationName>
</data>
<data>
<mimetype>department</mimetype>
<value>寮€鍙戦儴鏈夐檺鍏徃</value>
<DepartmentName>寮€鍙戦儴鏈夐檺鍏徃</DepartmentName>
</data>
......
我想读取XML文件向手机通讯录中添加内容
加载XML文件代码我就不写了,光写向通讯录写的
TiXmlElement *RootElement = ConnectFromNt->RootElement();//获得根元素,即Persons。
TiXmlElement *FirstPerson = RootElement->FirstChildElement();//获得第一个Person节点。
TiXmlElement *FirstDatas = FirstPerson->FirstChildElement();//获得第一个datas节点。
TiXmlElement *FirstData1 = FirstDatas->FirstChildElement();//获得第一个data节点。
//获得第一个Person的datas节点和data节点。姓名
TiXmlNode *MimetypeElement1 = FirstData1->FirstChild("mimetype");
TiXmlNode *ValueElement1 = MimetypeElement1->NextSibling("value");
TiXmlNode *FirstNameElement = ValueElement1->NextSibling("firstName");
TiXmlNode *LastNameElement = FirstNameElement->NextSibling("lastName");
if(FirstNameElement)
{
ConvertUtf8ToGBK(FirstNameElement->FirstChild()->Value());
//iContact->put_FirstName(CComBSTR(ConvertUtf8ToGBK(FirstNameElement->FirstChild()->Value())));
}
if (LastNameElement)
{
ConvertUtf8ToGBK(LastNameElement->FirstChild()->Value());
//iContact->put_LastName(CComBSTR(ConvertUtf8ToGBK(LastNameElement->FirstChild()->Value())));
}
TiXmlElement *FirstData2 = FirstData1->NextSiblingElement();//获得下一个data节点。
TiXmlNode *MimetypeElement2 = FirstData2->FirstChild("mimetype");//获得下一个Person的data节点。公司名称
TiXmlNode *ValueElement2 = MimetypeElement2->NextSibling("value");
TiXmlNode *CooperationNameElement = ValueElement2->NextSibling("CooperationName");
if(CooperationNameElement)
{
ConvertUtf8ToGBK(CooperationNameElement->FirstChild()->Value());
//iContact->put_CompanyName(_bstr_t(ConvertUtf8ToGBK(CooperationNameElement->FirstChild()->Value())));
}
TiXmlElement *FirstData3 = FirstData2->NextSiblingElement();//获得下一个data节点。
//获得下一个Person的data节点。部门名称
TiXmlNode *MimetypeElement3 = FirstData3->FirstChild("mimetype");
TiXmlNode *ValueElement3 = MimetypeElement3->NextSibling("value");
TiXmlNode *DepartmentNameElement = MimetypeElement3->NextSibling("DepartmentName");
if (DepartmentNameElement)
{
//以上都没问题,能成功读取XML,可是到下一句DepartmentNameElement->FirstChild()->Value(),这里有问题,编译能通过,可是执行通不过,不知道是什么原因,请各位大侠赐教!我都快急哭了~~~~
DepartmentNameElement->FirstChild()->Value();
iContact->put_Department(_bstr_t(ConvertUtf8ToGBK(DepartmentNameElement->FirstChild()->Value())));
}