【问题标题】:In-line C# for BizTalk Scripting Functoid用于 BizTalk 脚本 Functoid 的内嵌 C#
【发布时间】:2016-03-01 16:25:48
【问题描述】:

对于下面的 XML,我如何在脚本 functoid 中使用内联 C# 来获取 element = 'SAON' 的类型的值? 对于信息,这来自我的源模式中的一条记录,该记录包含编码的 XML,我首先将其转换为 XML 文档。

<?xml version="1.0"?>
<LocationXML>
      <Location>
         <Element>PAON</Element>
         <type>a</type>
      </Location>
      <Location>
         <Element>SAON</Element>
         <type>b</type>
      </Location>
</LocationXML>

内嵌 C#:这来自我之前构建的一个应用程序,尚未在地图中进行测试,但我怀疑它不是一百万英里之外。

string s = NewValueXml;

 XmlDocument x = new XmlDocument();
 x.LoadXml("<root>" + s + "</root>");
return x.InnerText;

【问题讨论】:

  • 您能否发布正在转换/返回 xml 文档的内联 c#?谢谢。
  • 原帖已更新
  • 一个位置是否可以有多个实例等于 SAON 或仅出现一次?
  • 只有一个

标签: c# xml biztalk biztalk-2013


【解决方案1】:

好的,在用于将string 转换为xmldocument 的脚本functoid 中,我会这样做并返回string,然后将其映射到您的目标节点。希望这次我能理解你的问题...

public string XMLConvertAndReturnType(string param1)
{
     string returnType = ""; //or String.Empty
     XmlDocument x = new XmlDocument();
     x.LoadXml("<root>" + param1 + "</root>");
     returnType = x.SelectSingleNode("//Location[Element = 'SAON']/type/text()").Value.ToString();
     return returnType; 
}

【讨论】:

  • 感谢您的回复。我明白你在说什么,但我将拥有的是通过脚本函数将编码的 xml 转换为 XmlDocument,所以这个脚本函数会吐出一条 xml 消息供我处理,所以我不能真正将元素映射为参数。
猜你喜欢
  • 2017-06-04
  • 2015-04-28
  • 2018-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多