• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            追逐夢想

            臨淵羨魚,不如退而結網
            posts - 8, comments - 18, trackbacks - 0, articles - 0

              文章原出處:http://hi.baidu.com/yxifu/blog/item/fa1569225bda52a44623e8f0.html

              作者:yxifu

            (一) 先講一下XML中的物殊字符,手動填寫時注意一下。

            字符                   字符實體
            &                       &amp;或&
            '                       &apos;或'
            >                       &gt;或>
            <                       &lt;或&<
            "                        &quot;或"

            (二) CMarkup類的源代碼。

            這是目前的最新版本;

            這是官網示例文件,取出里面的Markup.cpp和Markup.h,導入你的工程里面,CMarkup類就可以用了;

            下載地址:http://www.firstobject.com/Markup90.zip 2007年10月1日官網最新版

            如果下載不了,可以到官網去下載 http://www.firstobject.com/dn_markup.htm 

            (三) 創建一個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");

            效果如下:

            <ORDER>
            <ITEM>
            <SN>132487A-J</SN>
            <NAME>crank casing</NAME>
            <QTY>1</QTY>
            </ITEM>
            </ORDER>
            (四) 瀏覽特定元素
            CMarkup xml;
            xml.Load("UserInfo.xml");
            while ( xml.FindChildElem("ITEM") ) {      xml.IntoElem();      xml.FindChildElem( "SN" );      CString csSN = xml.GetChildData();      xml.FindChildElem( "QTY" );     int nQty = atoi( xml.GetChildData() );      xml.OutOfElem(); }
            (五)增加元素和屬性
            添加在最后面,使用的是AddElem;添加在最前面,使用InsertElem。
            CMarkup xml;
            xml.Load("c:\\UserInfo.xml");
            xml.AddElem( "ORDER" );
            xml.IntoElem(); // 進入 ORDER



                 xml.AddElem( "ITEM" );      xml.IntoElem(); // 進入 ITEM      xml.AddElem( "SN", "4238764-A" ); //添加元素      xml.AddElem( "NAME", "bearing" );//添加元素      xml.AddElem( "QTY", "15" );//添加元素      xml.OutOfElem(); // 退出 ITEM
            xml.AddElem( "SHIPMENT" );
            xml.IntoElem(); // 進入 SHIPMENT
            xml.AddElem( "POC" );//添加元素
            xml.SetAttrib( "type", "non-emergency");//添加屬性
            xml.IntoElem(); // 進入 POC
            xml.AddElem( "NAME", "John Smith");//添加元素
            xml.AddElem( "TEL", "555-1234");//添加元素
            xml.Save("c:\\UserInfo.xml");

             

            效果如下:

            <ORDER>
            <ITEM>
            <SN>132487A-J</SN>
            <NAME>crank casing</NAME>
            <QTY>1</QTY>
            </ITEM>
            <ITEM>
            <SN>4238764-A</SN>
            <NAME>bearing</NAME>
            <QTY>15</QTY>
            </ITEM>
            <SHIPMENT>
            <POC type="non-emergency">
            <NAME>John Smith</NAME>
            <TEL>555-1234</TEL>
            </POC>
            </SHIPMENT>
            </ORDER>

            (六) 修改元素和屬性

            如將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");
                }
               }
            }

            久久精品亚洲福利| 国产精品成人精品久久久| 狠狠色婷婷久久一区二区| 波多野结衣久久一区二区| 99久久做夜夜爱天天做精品| 亚洲精品乱码久久久久久| 久久精品国产亚洲av麻豆色欲| 999久久久免费国产精品播放| 久久久久久久亚洲精品| 东京热TOKYO综合久久精品| 久久久国产精品| 久久久久人妻一区精品性色av| 中文字幕亚洲综合久久2| 久久夜色精品国产欧美乱| 久久精品国产99久久久香蕉| 麻豆AV一区二区三区久久| 色婷婷综合久久久久中文字幕| 国内精品久久国产大陆| 久久精品一本到99热免费| 天天综合久久久网| 午夜天堂精品久久久久| 亚洲欧美成人久久综合中文网| 久久婷婷综合中文字幕| 亚洲AV无码一区东京热久久| 麻豆久久| 亚洲国产精品嫩草影院久久 | 无码精品久久一区二区三区| 亚洲精品高清国产一线久久| 人妻丰满?V无码久久不卡| 99久久成人18免费网站| 精品久久久久久无码专区| 无码8090精品久久一区| 日韩久久无码免费毛片软件 | 77777亚洲午夜久久多喷| 伊人久久大香线焦AV综合影院| 久久影院午夜理论片无码 | 久久精品亚洲日本波多野结衣 | 色狠狠久久AV五月综合| 人妻精品久久久久中文字幕69| 丁香色欲久久久久久综合网| 久久无码AV一区二区三区|