在Ballerina 0.990中如何将流(XML字符串)转换为XML?

时间:2018-12-28 01:12:46

标签: ballerina

在Ballerina 0.990中删除了将字符串转换为XML的支持。是否有安全的方法可以将XML字符串转换为0.990及更高版本的xml类型?

在芭蕾舞女演员0.990版之前,可以通过以下方式将XML字符串强制转换为xml类型:

df[tail(names(df), 2)]

使用0.990版(和0.990.1版)会导致错误:

  

“字符串”不能明确地键入为“ xml”

虽然我在0.990.1中使用了以下内容:

string myXMLStream = "<root><foo/></root>";
xml myXML = <xml>myXMLStream;

没有编译时错误,myXML的结果内容无法作为XMLPayloads成功发布到端点:

string myXMLStream = "<root><foo/></root>";
xml myXML = <xml>`{{myXMLStream}}`;

这会导致错误:

  

{ballerina / http} HTTPError {消息:“无法将outboundRequestMsg发送到后端”}

如果显式创建了XML内容:

http:Request reqProcessXML = new;
reqProcessXML.setXMLPayload(untaint myXML);
var respProcessXML = myEndpoint->post("/myResource",reqProcessXML);

其余的下游处理成功。

请提供有关使用当前版本的Ballerina将字符串转换为XML的最佳/安全做法的指南。

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作。

6056820