DELPHI之备忘四

1. XML文件操作中的selectNodes使用的是Xpath语法,可以参考:http://www.w3school.com.cn/xpath/index.asp

   例如这样的选择语法:selectNodes('//data/r[contains(@reportType,"季报") and (@reportType != "三季报")]')

   这样{‘年报’,‘中报’,‘一季报’,‘第二季报’,‘第三季报’,‘第四季报’,‘三季报’}

   中只会选择{‘一季报’,‘第二季报’,‘第三季报’,‘第四季报’}的节点

代码
//DataSetXPath := '//data/r[@reportType!="第三季报" and @reportType!="第二季报" and @reportType!="第四季报"] ';
//DataSetXPath := '//data/r[@reportType="年报"]|//data/r[@reportType="中报"]|//data/r[@reportType="一季报"]|//data/r[@reportType="三季报"]';
DataSetXPath := '//data/r[(6 mod string-length(@reportType))=0]';

不过速度没有直接一个条件或者判断来得快,而且“<"">"号好像都会有问题,“!=”不能用于比较数值?

2.关于Tstrings调试时注意不能用Tstrings.text来查看debug内容,Tstrings.text显示的内容会有大小限制,要一行一行显示

3. Delphi调用WebServices的接口中需要注意加一句,如下的红字,否则传递参数会无法上传至服务器

initialization

  InvRegistry.RegisterInterface(TypeInfo(CustomerServiceSoap), 'http://www.XXX.com.cn/', 'utf-8');
  InvRegistry.RegisterInvokeOptions(TypeInfo(CustomerServiceSoap), ioDocument);
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(CustomerServiceSoap), 'http://www.XXX.com.cn/GetUserType');

posted @ 2010-06-24 18:11  Enli  阅读(318)  评论(0编辑  收藏  举报