xpath in biztalk
生活随笔
收集整理的這篇文章主要介紹了
xpath in biztalk
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
biztalk 是微軟面向消息集成技術中很重要的一個產(chǎn)品,這里的消息可以理解為就是XML。對消息的處理,難免會有很多的操作,比如變換,篩選賦值,給予內(nèi)容的路由等。
對于xml, 不同的變換我們一般用xslt去做。 而篩選和操作賦值一般就是用XQuery, 當然xslt和Xquery 都會共享一個Xpath。在biztalk的Orchastration內(nèi)部,可以用Xpath來操作各種消息。biztalk提供了一個內(nèi)置的函數(shù)叫做xpath。
比如:你可以篩選特定的記錄值,他的語法是xpath(message, xpathExpression)
有時候你經(jīng)常會發(fā)現(xiàn),在程序中可以執(zhí)行的xpath,到Biztalk中就是不能執(zhí)行。 這時候check系統(tǒng)日值,你會看到很多的錯誤消息。
這時候,你一般是以下兩點的原因:
1。請在Xpath 的表達式中顯式的加入local-name 的判斷。
比如我寫的代碼: xpath(Msg_In,"//*[local-name()='PoNumber']");?
在.net 中,?一般都直接寫 Msg_In.SelectSingleNode("//PoNumber");?
Biztalk 需要你顯式的制定NodeName ,要么你可以用一個xpath 內(nèi)置函數(shù),local-name 返回QName的local部分。
2.如果你懶得些的話,可以把你的node 升級為 Distinguished field,看看微軟生成的代碼。
微軟的xpath 這個語法,最終由那個對象來負責執(zhí)行呢? 其實也是用.NET Framework 的DOM模型。
對于xpath這個函數(shù),biztalk在編譯一個項目的時候,會替換成這樣的一個函數(shù)。當然,Biztalk 的所有文件都會轉(zhuǎn)換成一個cs文件,然后在編譯為dll. 你可以通過顯示所有文件,看到流程對應的cs文件。
Microsoft.XLANGs.Core.Part.XPathLoad
而XPathLoad 就是執(zhí)行類似的代碼: Xmodocument.CreateNavigator().Evaluate(xpath); 這個方法在Microsoft.XLANGs.Engine.dll 這個程序集中
對于xml, 不同的變換我們一般用xslt去做。 而篩選和操作賦值一般就是用XQuery, 當然xslt和Xquery 都會共享一個Xpath。在biztalk的Orchastration內(nèi)部,可以用Xpath來操作各種消息。biztalk提供了一個內(nèi)置的函數(shù)叫做xpath。
比如:你可以篩選特定的記錄值,他的語法是xpath(message, xpathExpression)
有時候你經(jīng)常會發(fā)現(xiàn),在程序中可以執(zhí)行的xpath,到Biztalk中就是不能執(zhí)行。 這時候check系統(tǒng)日值,你會看到很多的錯誤消息。
這時候,你一般是以下兩點的原因:
1。請在Xpath 的表達式中顯式的加入local-name 的判斷。
比如我寫的代碼: xpath(Msg_In,"//*[local-name()='PoNumber']");?
在.net 中,?一般都直接寫 Msg_In.SelectSingleNode("//PoNumber");?
Biztalk 需要你顯式的制定NodeName ,要么你可以用一個xpath 內(nèi)置函數(shù),local-name 返回QName的local部分。
2.如果你懶得些的話,可以把你的node 升級為 Distinguished field,看看微軟生成的代碼。
微軟的xpath 這個語法,最終由那個對象來負責執(zhí)行呢? 其實也是用.NET Framework 的DOM模型。
對于xpath這個函數(shù),biztalk在編譯一個項目的時候,會替換成這樣的一個函數(shù)。當然,Biztalk 的所有文件都會轉(zhuǎn)換成一個cs文件,然后在編譯為dll. 你可以通過顯示所有文件,看到流程對應的cs文件。
Microsoft.XLANGs.Core.Part.XPathLoad
而XPathLoad 就是執(zhí)行類似的代碼: Xmodocument.CreateNavigator().Evaluate(xpath); 這個方法在Microsoft.XLANGs.Engine.dll 這個程序集中
轉(zhuǎn)載于:https://www.cnblogs.com/montaque/archive/2006/09/04/494313.html
總結(jié)
以上是生活随笔為你收集整理的xpath in biztalk的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Digg:私人制造的时代
- 下一篇: 十八种方法让你集中精力工作