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

            yuhuanworkroom

            常用鏈接

            統(tǒng)計(jì)

            最新評(píng)論

            XPath 校驗(yàn)工具

                    XML是一套定義語(yǔ)義標(biāo)記的規(guī)則,這些標(biāo)記將文檔分成許多部件并對(duì)這些部件加以標(biāo)識(shí)。由于XML具備諸多的優(yōu)點(diǎn),XML被越來(lái)越為廣泛地使用。

                    我們開(kāi)發(fā)員更是會(huì)經(jīng)常使用XML來(lái)存儲(chǔ)信息或者交換數(shù)據(jù),而XPath是用來(lái)高效處理XML文檔的方法。XPath是種可以在XML文檔中查找信息的語(yǔ)言,可以通過(guò)XPath表達(dá)式在XML文檔中快速定位。相比一層層節(jié)點(diǎn)的遞歸來(lái)說(shuō),它的代碼可讀性更高,易維護(hù),效率高。而且XQuery和XPointer也是建立在XPath之上,所以在應(yīng)用開(kāi)發(fā)中使用XPath頻率會(huì)比較高。
                    寫一個(gè)簡(jiǎn)單的XPath到不是一件難事,或許也可以不調(diào)試跟蹤。但對(duì)于復(fù)雜的文檔或XPath表達(dá)式,最好先驗(yàn)證,難通過(guò)跟蹤調(diào)試的方式來(lái)確定正確性的方式是不可取的。XPath Tester工具就是一個(gè)驗(yàn)證XPath正確性的工具,它是基于MSXML實(shí)現(xiàn)。

            安裝環(huán)境:
            OS:windows xp及以上。

                    這個(gè)工具的實(shí)現(xiàn)較簡(jiǎn)單,可以很容易地寫出來(lái)。稍難的可能是處理名字空間的方法,下面附上這部份源碼。
             1     LPCTSTR g_szSelectionLanguage = _T("SelectionLanguage");
             2     LPCTSTR g_szXPath =_T("XPath");
             3     LPCTSTR g_szXmlns = _T("xmlns:");
             4     LPCTSTR g_szSelectionNamespaces =_T("SelectionNamespaces");
             5     TCHAR g_cComma = _T(',');
             6 
             7     void ParseXmlns(MSXML2::IXMLDOMDocument2Ptr &docPtr, LPCTSTR szXmlns)
             8     {
             9         int nLen;
            10         if(!szXmlns ||  (nLen = _tcslen(szXmlns))== 0)
            11         {
            12             return;
            13         }
            14 
            15         docPtr->setProperty(g_szSelectionLanguage, g_szXPath);
            16         const short BUFFLEN = 200;
            17         TCHAR szNameBuf[BUFFLEN];
            18         TCHAR *pStart = const_cast<TCHAR*>(szXmlns);
            19         TCHAR *pEnd = _tcschr(pStart, g_cComma);
            20
            21         bool bQuit = false;
            22         while (nLen && !bQuit)
            23         {
            24             if(!pEnd)
            25             {
            26                 pEnd = pStart + nLen;
            27                 bQuit = true;
            28             }
            29             ZeroMemory(szNameBuf, sizeof(szNameBuf));
            30             _tcsncpy_s(szNameBuf, BUFFLEN, pStart, pEnd - pStart);
            31             if(_tcsnicmp(szNameBuf, g_szXmlns, _tcslen(g_szXmlns)) == 0)
            32             {
            33                 docPtr->setProperty(g_szSelectionNamespaces, szNameBuf);
            34             }
            35 
            36             pStart = pEnd + 1;
            37             pEnd = _tcschr(pStart, g_cComma);
            38             nLen = _tcslen(pStart);
            39         }
            40     }

            下載: http://www.91box.net/?BOERZFW76FD5GAOJNYUI
            MD5:    96046c78f572f669aa8c600c1a6b06e5

            posted on 2009-10-15 23:37 yuhuan 閱讀(3103) 評(píng)論(0)  編輯 收藏 引用 所屬分類: SoftWare

            99久久免费只有精品国产| 精品久久久久久久国产潘金莲| 亚洲精品午夜国产va久久| 久久99精品久久久久久9蜜桃| 久久ZYZ资源站无码中文动漫| 99精品国产免费久久久久久下载| 要久久爱在线免费观看| 亚洲精品tv久久久久| 久久婷婷色香五月综合激情 | 日日躁夜夜躁狠狠久久AV| 久久久中文字幕日本| 久久久精品人妻一区二区三区蜜桃| 国产69精品久久久久观看软件| 怡红院日本一道日本久久 | 久久精品国产亚洲AV大全| 亚洲精品乱码久久久久久按摩 | 国产精品成人精品久久久 | 97精品久久天干天天天按摩 | 人妻无码αv中文字幕久久| 久久久久亚洲AV无码永不| 国产精品久久久福利| 狠狠色伊人久久精品综合网| 久久亚洲中文字幕精品一区| 97精品伊人久久大香线蕉| 久久精品蜜芽亚洲国产AV| 亚洲精品高清久久| 超级碰碰碰碰97久久久久| 久久亚洲精品中文字幕| 精品国产婷婷久久久| 一本一本久久a久久综合精品蜜桃| .精品久久久麻豆国产精品| 久久免费99精品国产自在现线| 久久久久久久久久久精品尤物| 久久久久久人妻无码| 人妻中文久久久久| 国产成人综合久久综合| 成人综合久久精品色婷婷| 伊人丁香狠狠色综合久久| 色综合久久久久久久久五月| 久久www免费人成看国产片| 精品国产乱码久久久久久1区2区 |