提问人:Diego Morales 提问时间:9/26/2023 更新时间:9/26/2023 访问量:27
从 VB.NET Web 服务中的 SOAP 响应中删除 xmlns=“”
Delete xmlns="" from SOAP response in a VB.NET Web Service
问:
我目前在使用 vb.net 制作的 Web 服务中工作。问题是我为 WS 响应返回一个 xml 文档,如下所示: WS 响应(注意 mensaje xml 标签)
但是当我从 soapUI 或 Postman 调用此服务时,答案是这样的: Soap WS 响应
它添加了一个xmlsn=“”,我需要删除它,但我不知道如何删除。这是我的代码:
' Load and extract data from the input XML
oXMLDocument.LoadXml(Input)
sConvenio = GetSetNodeValue(oXMLDocument, "mensaje/encabezado/convenio", "", Nothing)
siden01 = Trim(GetSetNodeValue(oXMLDocument, "mensaje/identificador/iden01", "", Nothing))
' Check the length of a string
If Strings.Len(ConectaCompania(sConvenio)) = 36 Then
' Construct a SOAP request
sTemp = "<!-- Query -->"
sQuery = "<!-- SOAP request construction code -->"
' Send the SOAP request and receive a response
sSOAPans = DISnode.Interact(sQuery)
oXMLDoc.LoadXml(sSOAPans)
' Process the SOAP response and set values in the response XML
If xmlNL.Count = 0 And oXMLDoc.InnerText <> "oRecordset0.00000000" Then
' Extract and set response tags
GetSetNodeValue(oXMLDocument, "mensaje/encabezado/codigoRetorno", "000", Nothing)
GetSetNodeValue(oXMLDocument, "mensaje/encabezado/mensajeRetorno", "CONSULTA EXITOSA", Nothing)
' Extract and set identifier and value tags (repeat for others)
GetSetNodeValue(oXMLDocument, "mensaje/identificador/iden01", siden01, Nothing)
' ...
' Return the modified XML document
Return oXMLDocument
End If
End If
如您所见,我没有添加 xmlns=“”,因此这是由 soap 响应添加的。我怎样才能防止这种情况发生?
谢谢!
我尝试返回一个 XNode 对象而不是 XmlDocument 并在标签中搜索 xmlns=“” 并将其删除。没有结果。
答:
0赞
Mads Hansen
9/26/2023
#1
该元素绑定到命名空间,并且未使用命名空间前缀。任何没有命名空间前缀的后代元素都将位于 http://sebipagos.bi.com.gt/Consultar 命名空间中。因此,它需要指示没有与元素(及其后代)关联的命名空间,并且它们未绑定到 http://sebipagos.bi.com.gt/Consultar 命名空间。ConsultarResponse
xmlns=""
mensaje
如果你不想看到元素,那么你要么需要使用命名空间前缀,要么不绑定到命名空间。xmlns=""
mensaje
ConsultartResponse
评论
xmlns=""