biztalk 是微软面向消息集成技术中很重要的一个产品,这里的消息可以理解为就是XML。对消息的处理,难免会有很多的操作,比如变换,筛选赋值,给予内容的路由等。

对于xml, 不同的变换我们一般用xslt去做。 而筛选和操作赋值一般就是用XQuery, 当然xslt和Xquery 都会共享一个Xpath。在biztalk的Orchastration内部,可以用Xpath来操作各种消息。biztalk提供了一个内置的函数叫做xpath。
比如:你可以筛选特定的记录值,他的语法是xpath(message, xpathExpression)

有时候你经常会发现,在程序中可以执行的xpath,到Biztalk中就是不能执行。 这时候check系统日值,你会看到很多的错误消息。
这时候,你一般是以下两点的原因:
1。请在Xpath 的表达式中显式的加入local-name 的判断。
比如我写的代码:

xpath(Msg_In,"//*[local-name()='PoNumber']"); 

在.net 中, 一般都直接写

Msg_In.SelectSingleNode("//PoNumber"); 

Biztalk 需要你显式的制定NodeName ,要么你可以用一个xpath 内置函数,local-name 返回QName的local部分。
2.如果你懒得些的话,可以把你的node 升级为 Distinguished field,看看微软生成的代码。

微软的xpath 这个语法,最终由那个对象来负责执行呢? 其实也是用.NET Framework 的DOM模型。

对于xpath这个函数,biztalk在编译一个项目的时候,会替换成这样的一个函数。当然,Biztalk 的所有文件都会转换成一个cs文件,然后在编译为dll. 你可以通过显示所有文件,看到流程对应的cs文件。
Microsoft.XLANGs.Core.Part.XPathLoad


而XPathLoad 就是执行类似的代码:

Xmodocument.CreateNavigator().Evaluate(xpath);

这个方法在Microsoft.XLANGs.Engine.dll 这个程序集中

转载于:https://www.cnblogs.com/montaque/archive/2006/09/04/494313.html

xpath in biztalk相关推荐

  1. BizTalk开发系列(三十四) Xpath

    更多内容请查看:BizTalk动手实验系列目录                       BizTalk 开发系列 XPath 是在 XML 文档中查找信息的语言,在BizTalk的开发中应用非常广 ...

  2. BizTalk 开发小技巧-Custom XSLT复杂mapping的简单实现

    BizTalk最强大的就是消息的订阅/发布和消息转换(transform-mapping),与不同的业务系统做对接势必会用到mapping这个强大的工具.BizTalk提供了非常丰富的mapping函 ...

  3. BizTalk Server 2010新功能介绍(六):BizTalk Mapper (下)

    在前一章里我们介绍了BizTalk Mapper的三个新功能:自动滚屏显示相关节点和链接.自动链接架构元素和相关视图.这一章里我们继续介绍更多的新功能,包括:高亮显示相关匹配的Schema(架构)节点 ...

  4. 使用Xpath对XML进行模糊查询

    使用Xpath对XML进行模糊查询 如果要对XML文件进行模糊查找的话是一个比较麻烦的事情,Xpath表达式中没有像文件系统中的"*"或"?" 或者有像SQL表 ...

  5. BizTalk中的英文名词和中文释义

    最近研究BizTalk架构,并为书籍搜集整套详细资料,真是累死人了,相同类别的中文书籍10年前有过,此间,BizTalk更新升级无数次了,国内尚无一本相关开发类技术指导.虽说可能此框架不属于轻量级,不 ...

  6. BizTalk ESB Toolkit : 核心组件介绍及代码示例 (原创翻译)

    为什么需要一个企业服务总线(Enterprise Service Bus,ESB) 从IT管理的角度看,随着企业内信息化系统的不断建立,企业已经充满了各种各样的业务系统(line-of-busines ...

  7. Python的Xpath介绍和语法详解

    1.简介 XPath是一门在XML和HTML文档中查找信息的语言,可以用来在XML和HTML文档中对元素和属性进行遍历 XPath的安装 Chrome插件XPath Helper 点Chrome浏览器 ...

  8. Python案例:使用XPath的爬虫

    案例:使用XPath的爬虫 现在我们用XPath来做一个简单的爬虫,我们尝试爬取某个贴吧里的所有帖子,并且将该这个帖子里每个楼层发布的图片下载到本地. # tieba_xpath.py#!/usr/b ...

  9. Python:XPath与lxml类库

    什么是XML XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 的标签需要 ...

最新文章

  1. JavaScript 30 - 3 学习笔记
  2. char[],char *,string之间转换
  3. 白话Elasticsearch17-深度探秘搜索技术之match_phrase query 短语匹配搜索
  4. layui表格弹窗修改_layUI 实现自定义弹窗
  5. 数据结构——图——最短路径DF算法
  6. P5643-[PKUWC2018]随机游走【min-max容斥,dp】
  7. 【nodejs原理源码赏析(1)】Express中间件系统的基本实现
  8. Kali Linux 无线渗透测试入门指南 第八章 攻击企业级 WPA 和 RADIUS
  9. byte 合并 java_java合并byte
  10. 给MM修电脑的三个步骤
  11. Oracle 根据业务创建新的用户
  12. 五线谱音名和组别对照表_五线谱简谱对照表
  13. 一元函数微分学的概念与计算
  14. 嵌入式高速串行并行技术_推荐(张锋)
  15. 计算机主机名称在哪里,Mac修改主机名和计算机名
  16. 网工必考:HCIP认证(华为认证ICT高级网络工程师)
  17. quartz的使用(一)
  18. 电脑超时空保卫者——光华反病毒软件(转)
  19. 看图工具 -- 蓝湖 Axure 墨刀
  20. 计算机应用基础wOrd教学目标,计算机应用基础教案说课.doc

热门文章

  1. 我的第一个.NET Core App Windows系统
  2. 清除number输入框的上下箭头
  3. outdated: 3.Adding Color
  4. typedef和#define的用法与区别
  5. 开源方案搭建可离线的精美矢量切片地图服务-3.Mapbox个性化地图定制入门
  6. 数据库存在即更新的并发处理 - 转
  7. 20162302 《程序设计与数据结构》第一周学习总结
  8. count 数字计数(bzoj 1833)
  9. HDU 1042 N!
  10. android jni ndk 视频分享