Biztalk。比较给定的xml和消息

Biztalk。比较给定的xml和消息,xml,xslt,mapping,compare,biztalk,Xml,Xslt,Mapping,Compare,Biztalk,老板让我将收到的xml格式的消息与包含数据库信息的xml给定文件进行比较。我需要在Biztalk中使用xslt映射来实现这一点。我可以做这个任务的声明性部分。我甚至找到了,但我不知道如何在biztalk中完成 我需要的是一个与Biztalk兼容的xslt,它只接收输入消息并获取位于解决方案框中的给定xml文件,然后使用上面的方法或您认为更适合我的情况的方法进行比较。请显示以所需格式插入文件名或消息名的位置 该文件仅包含此类信息 <?xml version="1.0" standalone=

老板让我将收到的xml格式的消息与包含数据库信息的xml给定文件进行比较。我需要在Biztalk中使用xslt映射来实现这一点。我可以做这个任务的声明性部分。我甚至找到了,但我不知道如何在biztalk中完成

我需要的是一个与Biztalk兼容的xslt,它只接收输入消息并获取位于解决方案框中的给定xml文件,然后使用上面的方法或您认为更适合我的情况的方法进行比较。请显示以所需格式插入文件名或消息名的位置

该文件仅包含此类信息

<?xml version="1.0" standalone="yes"?>
<DocumentElement>
  <Columns>
    <OWNER>APEX_030200</OWNER>
    <TABLE_NAME>APEX_APPLICATION_ALL_AUTH</TABLE_NAME>
    <COLUMN_NAME>WORKSPACE</COLUMN_NAME>
    <ID>1</ID>
    <DATATYPE>VARCHAR2</DATATYPE>
    <LENGTH>255</LENGTH>
    <NULLABLE>Y</NULLABLE>
    <CHAR_USED>B</CHAR_USED>
    <LENGTHINCHARS>255</LENGTHINCHARS>
  </Columns>
  <Columns>
    <OWNER>APEX_030200</OWNER>
    <TABLE_NAME>APEX_APPLICATION_ALL_AUTH</TABLE_NAME>
    <COLUMN_NAME>APPLICATION_ID</COLUMN_NAME>
    <ID>2</ID>
    <DATATYPE>NUMBER</DATATYPE>
    <LENGTH>22</LENGTH>
    <NULLABLE>Y</NULLABLE>
    <LENGTHINCHARS>0</LENGTHINCHARS>
  </Columns>
</DocumentElement>

APEX_030200
APEX\u应用程序\u所有\u授权
工作空间
1.
瓦查尔2
255
Y
B
255
APEX_030200
APEX\u应用程序\u所有\u授权
应用程序ID
2.
数
22
Y
0

如果要检查的值没有更改,则可以在BizTalk映射上轻松完成此操作。 只需使用functoid“Logical equal”,然后输入要检查的值。从中可以得到一个布尔值,它与“值映射”functoid一起可用于创建输出消息。 当然,您也可以使用“逻辑与”functoid添加多个值检查

如果需要检查现有文件,我可以看到两种可能的方法:

  • 在引用的类中创建验证函数,并调用 来自BizTalk映射的函数(functoid“Scripting”)
  • 创建执行评估的自定义管道

  • 我知道您需要将输入xml与其他xml进行比较。但是你想要什么样的输出呢?那应该是什么样子?