文章来源http://www.firstobject.com/dn_markup.htm
(一) XML中的物殊字符
字符 字符实体
& &或&
' '或'
> >或>
< <或&<
" "或"
(二) CMarkup类的源代码
(三) 创建一个XML文档
CMarkup xml;
xml.AddElem( "ORDER" );
xml.AddChildElem( "ITEM" );
xml.IntoElem();
xml.AddChildElem( "SN", "
132487A
-J" );
xml.AddChildElem( "NAME", "crank casing" );
xml.AddChildElem( "QTY", "1" );
xml.Save("c://UserInfo.xml");
效果如下:
(四) 浏览特定元素
( xml.FindChildElem("ITEM") )
(五)增加元素和属性
添加在最后面,使用的是AddElem;添加在最前面,使用InsertElem。
xml.AddElem( "ITEM" );
效果如下:
(六) 修改元素和属性
如将POC中的属性type改成:change;
元素TEL改成:123456789
CMarkup xml;
if (xml.Load("UserInfo.xml"))
{
CString strUserID = _T("");
xml.ResetMainPos();
if (xml.FindChildElem("SHIPMENT"))
{
xml.IntoElem();
if (xml.FindChildElem("POC"))
{
xml.IntoElem();
CString str_type=xml.GetAttrib("type");
MessageBox(str_type);
xml.SetAttrib("type","change");
strUserID = xml.GetData();
if (xml.FindChildElem("TEL"))
{
xml.IntoElem();
xml.SetData("123456789");
xml.Save("UserInfo.xml");
return;
}
}
}
}
(七)删除元素
删除SN= 132487A -J的项目。
CMarkup xml;
if (xml.Load("UserInfo.xml"))
{
CString strUserID = _T("");
xml.ResetMainPos();
if (xml.FindChildElem("ITEM"))
{
xml.IntoElem();
CString str_sn;
xml.FindChildElem("SN");
str_sn=xml.GetChildData();
if(str_sn=="
132487A
-J")
{
xml.RemoveElem();
xml.Save("UserInfo.xml");
}
}
}
(八)补充说明
1、xml.ResetMainPos()的使用
该函数是使得xml的指针重新指向文件的起点,当执行完如下语句后,
while ( xml.FindChildElem("ITEM") )