微信小程序解析webservice返回的xml格式数据

这篇具有很好参考价值的文章主要介绍了微信小程序解析webservice返回的xml格式数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、初始化微信小程序

默认情况下微信小程序不是npm所管理的,所以第一步我们需要将其变成npm管理的项目
项目根目录下输入命令npm init,此时会出现一些基本信息的填写(当然直接回车使用默认项也可以)成功后项目根目录下会出现package.json文件,如图:
微信小程序解析webservice返回的xml格式数据

二、下载xmldom工具包

项目根目录输入命令npm install xmldom安装xmldom

三、构建npm

下载好的工具包不能直接在小程序中使用,需要进行npm构建才可以。微信开发者工具中找到工具一栏中的构建npm选项
微信小程序解析webservice返回的xml格式数据
点击构建,成功后会在项目根目录中出现miniprogram_npm文件夹
微信小程序解析webservice返回的xml格式数据

四、新建parseXML.js文件

utils文件夹下新建文件parseXML.js,使用DOMParser中的parseFromString方法从对应的标签中提取所需的数据,并以json数据格式返回,源码如下:

/**
 * 将WebService中返回的xml格式的数据转为json
 * <?xml version="1.0" encoding="utf-8"?>
 * <string xmlns="http://app.baosight.com/">string</string>
 */
import { DOMParser } from "xmldom"
/**
 * 
 * @param {string} xmlStr 传入的xml数据
 * @param {List} tagList 需要提取的标签列表
 * @returns 
 */
export default function formatXml(xmlStr, tagList){
    let xmlData = new DOMParser().parseFromString(xmlStr, 'text/xml')
    let res = xmlData.getElementsByTagName(tagList[0])[0].childNodes['0'].data
    return JSON.parse(res)
}

五、使用formatXml

在需要用到此方法的js文件中引入

import formatXml from '../../utils/parseXML'

默认情况下wx.request返回的数据格式都是json,因此要想返回xml格式的数据则需要修改请求配置项,案例如下:文章来源地址https://www.toymoban.com/news/detail-486154.html

btnTest() {
    wx.request({
      url: 'http://192.168.1.196:3514/Index.asmx/getAppVersion',
      header: {
        'Content-Type': 'text/xml'
      },
      success(res) {
        const jsonData = formatXml(res.data, ['string'])
        console.log(jsonData)
      }
    }) 
  },

到了这里,关于微信小程序解析webservice返回的xml格式数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【微信小程序】从网络请求返回值res.data获取并解析一个Array

    在微信小程序中,可以通过 res.data 获取到请求返回的数据。如果返回的数据是一个数组,您可以直接对其进行操作。 以下是一个示例代码,演示了如何从 res.data 中解析一个数组: 在上述代码中,我们首先判断 res.data 是否为一个数组,使用 Array.isArray() 方法进行判断。如果是

    2024年02月16日
    浏览(47)
  • 【微信小程序】使用 JSON.parse 方法将返回的 JSON 字符串解析为对象

    在微信小程序中,你可以使用 JSON.parse 方法将返回的 JSON 字符串解析为对象。以下是实现类似功能的示例代码: 在上述代码中,我们使用 JSON.parse 方法将返回的 JSON 字符串解析为对象。然后,我们可以通过点语法或方括号语法访问解析后的对象的属性,例如 data.result 。 请注

    2024年02月15日
    浏览(52)
  • Java调用WebService接口,SOAP协议HTTP请求返回XML对象

    Java调用Web service接口SOAP协议HTTP请求,解析返回的XML字符串: 1. 使用Java的HTTP库发送SOAP请求,并接收返回的响应。 可以使用Java的HttpURLConnection、Apache HttpClient等库。 2. 将返回的响应转换为字符串。 3. 解析XML字符串 ,可以使用Java的DOM解析器或者其他第三方库,如JDOM、DOM4J等。

    2024年01月19日
    浏览(50)
  • vue3管理系统中后台返回pdf格式的文件流,前端如何预览?以及uniapp微信小程序中后台返回的base64位的pdf文件如何预览?

    后台返回的是base64格式的pdf文件,首先需要解析base64文件的插件 image-tools 1 安装并引入插件 2 封装预览pdf的函数 3 调用接口获取数据

    2024年01月18日
    浏览(93)
  • 微信小程序返回上一页面并更新的数据

    微信小程序开发过程中经常把当前页面数据传递给上一个页面,wx.navigateBack()返回上一页,无法传递数据,页面视图没有响应。其中一个办法就是巧妙利用页面栈。 getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素

    2024年02月11日
    浏览(79)
  • 微信小程序返回上一级页面并自动刷新数据

    界面由A到B,在由B返回A,触发刷新动作 界面A代码 界面B代码 代码如下(示例): 在小程序环境中对应页面的 onShow。 页面显示/切入前台时触发。 Taro React生命周期函数

    2024年03月24日
    浏览(61)
  • 微信小程序--操作微信自带的返回按钮使上个页面刷新列表或刷新数据

    首先要了解什么是 页面栈 ------------ 框架以栈的形式维护了当前的所有页面。 当发生路由切换的时候,页面栈的表现如下: 路由方式 页面栈表现 初始化 新页面入栈 打开新页面 新页面入栈 页面重定向 当前页面出栈,新页面入栈 页面返回 页面不断出栈,直到目标返回页

    2024年02月13日
    浏览(48)
  • uniapp 之 uniapp 微信小程序项目,返回上一页,并刷新上一页的数据

    uniapp 微信小程序项目,在某个页面执行某个方法后返回上一页,并刷新上一页的数据 在用户列表页面点击新增按钮,跳转至新增用户页面,新增成功后返回用户列表页面,并在页面中刷新当前数据,要显示刚刚添加成功的那条数据 首先尝试直接用 uni.navigateTo 跳转回去,但是业务需求

    2024年02月11日
    浏览(93)
  • 微信小程序阻止返回事件

    当在一个表单页面 填写了很多数据,或者编辑页面数据发生变动之后,这时候返回上一个页面需要提醒用户是否返回的弹框 在onLoad生命周期里 注册 当你修改数据之后 又把数据还原 此时数据是没有发生改变的 这时候返回上一个页面是不需要阻止用户出现确定弹框的,在你修改数

    2024年02月04日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包