• <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>

            網(wǎng)絡(luò)服務(wù)器軟件開(kāi)發(fā)/中間件開(kāi)發(fā),關(guān)注ACE/ICE/boost

            C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
              152 Posts :: 3 Stories :: 172 Comments :: 0 Trackbacks

            (一) 先講一下XML中的物殊字符,手動(dòng)填寫(xiě)時(shí)注意一下。

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

            (二) CMarkup類(lèi)的源代碼。

            這是目前的最新版本;

            這是官網(wǎng)示例文件,取出里面的Markup.cpp和Markup.h,導(dǎo)入你的工程里面,CMarkup類(lèi)就可以用了;

            下載地址:http://www.firstobject.com/Markup83.zip

            (三) 創(chuàng)建一個(gè)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(); // 進(jìn)入 ORDER



                xml.AddElem( "ITEM" );     xml.IntoElem(); // 進(jìn)入 ITEM     xml.AddElem( "SN", "4238764-A" ); //添加元素     xml.AddElem( "NAME", "bearing" );//添加元素     xml.AddElem( "QTY", "15" );//添加元素     xml.OutOfElem(); // 退出 ITEM 
            xml.AddElem( "SHIPMENT" );
            xml.IntoElem(); // 進(jìn)入 SHIPMENT
            xml.AddElem( "POC" );//添加元素
            xml.SetAttrib( "type", "non-emergency");//添加屬性
            xml.IntoElem(); // 進(jìn)入 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的項(xiàng)目。

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

            posted on 2007-11-15 22:02 true 閱讀(878) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 其它開(kāi)源庫(kù)
            久久香蕉国产线看观看猫咪?v| 无夜精品久久久久久| 久久亚洲欧美国产精品| 久久精品无码专区免费青青 | 国产成年无码久久久免费| 国产精品久久久久久久久久影院| 久久精品国产亚洲AV久| 国内精品人妻无码久久久影院| 久久激情亚洲精品无码?V| 无码人妻久久一区二区三区免费丨 | 久久天天日天天操综合伊人av| 亚洲精品无码久久久久AV麻豆| 97久久婷婷五月综合色d啪蜜芽| 国产激情久久久久影院| 久久久久久国产精品无码下载| 亚洲午夜精品久久久久久人妖| 久久婷婷五月综合国产尤物app| 久久亚洲国产午夜精品理论片 | 品成人欧美大片久久国产欧美...| 亚洲欧美久久久久9999| 久久夜色tv网站| 亚洲香蕉网久久综合影视| 久久久国产精品| 久久se精品一区二区| 久久亚洲私人国产精品| 久久久亚洲裙底偷窥综合| 精品国产青草久久久久福利 | 人妻无码久久精品| 久久精品国产69国产精品亚洲| 97久久婷婷五月综合色d啪蜜芽| 国内精品久久国产| 日本欧美国产精品第一页久久| 成人精品一区二区久久久| 人人狠狠综合久久亚洲88| 久久99国产精品久久久| 国产精品久久久久…| 国产精品久久国产精品99盘 | 久久不见久久见免费影院www日本| 亚洲欧美日韩精品久久| 久久99精品国产99久久6| 欧美国产成人久久精品|