随笔-341  评论-2670  文章-0  trackbacks-0
    花了2个小时终于把XPath的数据结构和语法分析做完了。这个XPath的语法完全按照MSDN所说的做,除了减少了2个跟DTD相关的函数和11个Microsoft扩展的"ms:"开头的函数以外,剩下的功能将一概支持。

    代码写完了之后,我打开MSDN找里面的几十条XPath Example进行测试,发现了一些Bug,然后修正。现在MSDN所列举的所有例子都通过了,接下来只有自己写Example进行测试了。因为MSDN的例子并没有覆盖所有等价类。

    下面是运行结果和测试程序的代码:

#include "..\..\..\..\Library\Platform\VL_Console.h"

#include "..\..\..\..\Library\Data\VL_System.h"

#include "..\..\..\..\Library\Data\VL_Stream.h"

#include "..\..\..\..\Library\XML\VL_XML.h"

 

using namespace vl;

using namespace vl::platform;

using namespace vl::system;

using namespace vl::stream;

using namespace vl::xml;

 

void vlmain(VL_Console& Con)

{

     Con.SetPauseOnExit(false);

     Con.SetTestMemoryLeaks(true);

     Con.SetTitle(L"Vczh XML");

     while(true)

     {

         VUnicodeString XPathExpression;

         Con.Write(L"输入XPath");

         Con.Read(XPathExpression);

         if(XPathExpression==L"")

         {

              break;

         }

         else

         {

              try

              {

                   VL_XPath XPath(XPathExpression);

                   Con.Write(XPath.ToString());

              }

              catch(VL_XPathError& e)

              {

                   Con.Write(L"错误:"+e.Message+L"\r\n");

                   Con.Write(L"位置:"+XPathExpression.Left(e.Start)+L"\r\n");

              }

         }

         Con.Write(L"--------------------------------------------------------------------------------");

     }

}


    等考完《软件测试方法和技术》之后把查询功能写完。
posted on 2008-06-21 00:34 陈梓瀚(vczh) 阅读(2437) 评论(2)  编辑 收藏 引用 所属分类: C++

评论:
# re: XPath语法分析器完成! 2008-06-21 05:16 | Lnn
8错8错  回复  更多评论
  
# re: XPath语法分析器完成! 2008-06-22 06:58 | 影视剧
软件测试方法和技术 哪天考完?期待中  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理