DataWeave语言是一个功能强大的模板引擎,允许您将数据转换为任何格式(XML,CSV,JSON,Pojos,地图等)。
%dw 2.0 var testWithProperty = p('incoming.var') // incoming.var refers to the value "resultSet" var inPayload = [ resultSet: { id: "some Id" }, resultSet: { id: "some other Id" } ] output application/json --- { "result1": inPayload..resultSet, "result2": inPayload..testWithProperty }
我想修改错误。我该怎么做?我看不到mule 4中更新错误对象的任何选项。 另外,为什么在“加薪概念”中,类型字段无法动态设置...
我有一个XML,我想在参考文献 - >参考下找到特定属性'type'type'shiprefnum,然后将值替换为124215133_AB_00010. 输入XML: <?xml version='1.0' encoding='UTF-8'?> <LeanXML batchref="583628866.tiff" created="201801160501"> <DocumentUpload> <ShipperIdentificationCode type="DUNS">124215133</ShipperIdentificationCode> <Document> <Type>POD</Type> <Name>583628866.tiff</Name> <MimeType>image/tiff</MimeType> <FileData>SUkqAAgAAAAPAP4ABAABAAAAAAAAAAABBAABAAAA</FileData> <Checksum>7E5CAAF9EC3204798C61B300A0B5DE7FAE106F8C</Checksum> <Comments>901054881</Comments> </Document> **<ReferenceNums>** <Reference type="customerpo">1593942</Reference> ***<Reference type="shiprefnum">124215133</Reference>*** **</ReferenceNums>** <Location> <StopType>Drop</StopType> <StopNum>2</StopNum> <LocationRef>NOVAST</LocationRef> <City>MIDLAND</City> <State>TX</State> <Zip>79706</Zip> <Country>US</Country> </Location> </DocumentUpload> </LeanXML> 指望输出:<?xml version='1.0' encoding='UTF-8'?> <LeanXML batchref="583628866.tiff" created="201801160501"> <DocumentUpload> <ShipperIdentificationCode type="DUNS">124215133</ShipperIdentificationCode> <Document> <Type>POD</Type> <Name>583628866.tiff</Name> <MimeType>image/tiff</MimeType> <FileData>SUkqAAgAAAAPAP4ABAABAAAAAAAAAAABBAABAAAA</FileData> <Checksum>7E5CAAF9EC3204798C61B300A0B5DE7FAE106F8C</Checksum> <Comments>901054881</Comments> </Document> **<ReferenceNums>** <Reference type="customerpo">1593942</Reference> ***<Reference type="shiprefnum">124215133_AB_00010</Reference>*** **</ReferenceNums>** <Location> <StopType>Drop</StopType> <StopNum>2</StopNum> <LocationRef>NOVAST</LocationRef> <City>MIDLAND</City> <State>TX</State> <Zip>79706</Zip> <Country>US</Country> </Location> </DocumentUpload> </LeanXML> 我尝试了DataWeave,但它不起作用。有人可以帮我吗? payload update { case .LeanXML.DocumentUpload.ReferenceNums.Reference -> if(payload.LeanXML.DocumentUpload.ReferenceNums.Reference.@'type' == "shiprefnum") "124215133_AB_00010" else payload.LeanXML.DocumentUpload.ReferenceNums.Reference 您可以尝试这个%dw 2.0 output application/xml var xmlData = "<?xml ------" // your XML input var newShipRefNum = "124215133_AB_00010" // new value --- xmlData update { case payload.LeanXML.DocumentUpload.ReferenceNums.Reference filter $.type == "shiprefnum" // filters the Reference elements to find the one with type="shiprefnum" map $ update { // applies the update only to the filtered element(s) attributes: { // prevents the attribute from being removed type: "shiprefnum" }, "__": newShipRefNum // sets the text content of the Reference element to the new value } otherwise payload.LeanXML.DocumentUpload.ReferenceNums.Reference // ensures that all other Reference elements are left unchanged }
如何在DataWeave中带有特定属性值的第二个XML元素2.0
here是样本XML输入:
如何在 Mulesoft 中使用 MySQL 查找包含数组值的条目?
我有一个名为 document_population 的表,其中有一列名为“document_id”。 我想查询 Mulesoft 中的表(使用 Anypoint Studio)以返回具有匹配的 document_id 的所有行...
我需要使用DataWeave 将standalone=yes 添加到XML 声明中。我尝试过不同的方法,但无法解决。 我得到的当前输出: 我需要使用 DataWeave 将 standalone=yes 添加到 XML 声明中。我尝试了不同的方法,但无法解决。 我得到的当前输出: <?xml version='1.0' encoding='UTF-8'?> <Input:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="csm_admin.xsd"> <add> <data> <@firstName>jane</@firstName> <lastName>ALDANA</lastName> </data> </add> <add> <data> <@firstName>Emma</@firstName> <lastName>EDWARDS</lastName> </data> </add> </Input> 这是我预期的 XML 输出: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <admin xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="csm_admin.xsd"> <add> <data> <@firstName>jane</@firstName> <lastName>ALDANA</lastName> </data> </add> <add> <data> <@firstName>Emma</@firstName> <lastName>EDWARDS</lastName> </data> </add> </Input> 我尝试通过连接添加 `standalone=yes 声明,但它也失败了。 感谢您的投入 您可以尝试以下一种方法: 将 XML 有效负载转换为字符串,而不包含现有声明。然后,将格式化字符串与新声明连接起来。在 DataWeave 中,将输出类型设置为 text/plain。 使用“Set Payload”将 MIME 类型更改为 application/xml,以获得所需的 XML 输出。 转换消息 %dw 2.0 var in = write(payload,"application/xml", writeDeclaration:false) output text/plain --- '<?xml version = "1.0" encoding="UTF-8" standalone="yes"?>' ++ in 设置有效负载 <set-payload value="#[payload]" doc:name="Set Payload" doc:id="664c8d66-0bd7-4185-b754-1c4bc932221e" mimeType="application/xml"/> 输入 <?xml version='1.0' encoding='UTF-8'?> <employees> <employee> <name> <lastname>Kelly</lastname> <firstname>Grace</firstname> </name> <hiredate>October 15, 2005</hiredate> <projects> <project> <product>Printer</product> </project> </projects> </employee> </employees> 输出 <?xml version = "1.0" encoding="UTF-8" standalone="yes"?><employees> <employee> <name> <lastname>Kelly</lastname> <firstname>Grace</firstname> </name> <hiredate>October 15, 2005</hiredate> <projects> <project> <product>Printer</product> </project> </projects> </employee> </employees>
如何从 Mulesoft dataweave 表达式中的日期获取年份
日期:2000-03-29 这就是我正在尝试但出现错误的方法: 类型 LocalDateFormat = LocalDateTime { 格式:“yyyy-MM-dd'T'HH:mm:ss” } 有趣的 myDate(myDateString: DateTime) = 如果(为空(
在下面的示例中,当我在 Transform 中创建变量时,我有时会使用 application/java 有时使用 application/json 。看来使用这个变量的目标系统并不关心 什...
Apex 中的 DataWeave - 动态指定 SObject 类
我有一个运行良好的 DataWeave 脚本。我在 Apex 类中使用它。再次,效果很好。这是它: %dw 2.0 输入csv数据应用程序/csv 输入字段映射应用程序/j...
我有一个基于 Mulesoft 示例的 Dataweave 脚本 https://docs.mulesoft.com/dataweave/latest/dataweave-cookbook-map-based-on-an-external-definition 我正在尝试映射 CS 的内容...
尝试解析 XML 负载但出现错误:您使用以下参数调用了函数“后代选择器 ..”:1:String ("")
我正在尝试解析输入 XML 有效负载并转换并生成响应 XML。 这是我的输入 XML ...
将 XML 转换为 JSON,使用属性和文本作为键,无需 __text
我有 XML 格式的有效负载,我需要将其转换为 JSON。 XML 包含许多键值对和许多属性,我也需要将这些属性包含在 JSON 中......
我定义了一个 DataWeave 函数,它接受字符串作为输入,并且也可以处理空输入。但是,当我使用空输入调用它时,遇到语法错误。谁能告诉我为什么?那个...
我定义了一个 DataWeave 函数,它接受字符串作为输入,并且也可以处理空输入。但是,当我使用空输入调用它时,遇到语法错误。谁能告诉我为什么?那个...
我需要一个 dataweave 函数来提取修复字符串并将其转换为 ISO 日期字符串格式 有趣的convertToISO(日期字符串:字符串):字符串= if (日期字符串 == null) ”” ...
使用 if else 和 try catch 的 dataweave 函数问题
我需要一个 dataweave 函数来提取修复字符串并将其转换为 ISO 日期字符串格式 有趣的convertToISO(日期字符串:字符串):字符串= if (日期字符串 == null) ”” ...
我的代码有问题,我不知道如何解决,我解释了情况,我有两个对象数组;我们需要对有效负载执行一个循环,如果它与名为 Avai 的数组中的一项进行数学运算...
如何使用 DWL - Mule 4 保持在地图中迭代有效负载中应用的更新
我的代码有问题,我不知道如何解决,我解释了情况,我有两个对象数组;我们需要对有效负载执行一个循环,如果它与名为 Avai 的数组中的一项进行数学运算...
如何编写一个函数,使用 dataweave 从传入数组中过滤对象?
有效负载: [ { “noOfDocumentItemToSigner”:[ “eSign_documentItemName1__c”, “eSign_documentItemName2...