从一个接口中获取数据,解析问题

从一个接口中获取数据,解析问题,第1张

thisaddMouseListener(new MouseAdapter(){

public void mouseClicked(MouseEvent e){

if(egetClickCount()==2){

Systemexit(0);

}

}

});

主要就是ajax获取数据,当然也可以通过websocket获取数据。其中ajax是获取数据最主要的方式,后台写好的接口,前端通过发送请求,来获取后台返回的数据,然后通过js解析,渲染到页面上。websocket也可以获取数据,后台服务器可以推送消息给前端,前端通过websocket的onmessage回调函数来接收后端发送的数据。

这个要学socket编程了,我给你个简单的例子,获取百度音乐搜索“害怕”后得到的网页,当然因为临时弄出来的,所以可以运行但是发送的请求有点问题,所以百度服务器说我的请求内容没有找到,但是弄socket大概就是这样一个框架了,展示给你看下吧,要想真正的理解,去学socket吧

#include"winsock2h"

#include"stdioh"

#include"windowsh"

#include"conioh"

#pragma comment(lib,"WS2_32lib")

void main()

{

WSADATA data;

WORD w=MAKEWORD(2,0);

WSAStartup(w,&data);

SOCKET sock = socket(AF_INET, SOCK_STREAM, 0);

char text6[500]="GET /mf=ms&rf=idx&tn=baidump3&ct=134217728&lf=&rn=&word=%BA%A6%C5%C2&lm=0 >

不一定是第一条URL,通过用>

(1)首先我们放一个文件名为beautiesxml的XML文件到assets目录下,文件内容如下:

[html] view plaincopy

<xml version="10" encoding="UTF-8">

<beauties>

<beauty>

<name>范冰冰</name>

<age>28</age>

</beauty>

<beauty>

<name>杨幂</name>

<age>23</age>

</beauty>

</beauties>

然后在src目录下写一个与XML中节点(Node)相对应的类Beauty,其内容如下:

[java] view plaincopy

package compulltest;

public class Beauty {

//美女姓名

private String name;

//美女年龄

private String age;

public String getName() {

return name;

}

public void setName(String name) {

thisname = name;

}

public String getAge() {

return age;

}

public void setAge(String age) {

thisage = age;

}

@Override

public String toString() {

return "美女资料 [年龄=" + age + ", 姓名=" + name + "]";

}

}

(2)在src目录下写一个接口IBeautyParser,其内容如下:

[java] view plaincopy

package compulltest;

import javaioInputStream;

import javautilList;

public interface IBeautyParser {

/

解析输入流,获取Beauty列表

@param is

@return

@throws Exception

/

public List<Beauty> parse(InputStream is) throws Exception;

/

序列化Beauty对象集合,得到XML形式的字符串

@param beauties

@return

@throws Exception

/

public String serialize(List<Beauty> beauties) throws Exception;

}

在src目录下写一个上面接口的实现类BeautyParserImpl,其内容如下,代码已经详细注释:

[java] view plaincopy

package compulltest;

import javaioInputStream;

import javautilArrayList;

import javautilList;

import orgxmlpullv1XmlPullParser;

import androidutilXml;

public class BeautyParserImpl implements IBeautyParser{

@Override

public List<Beauty> parse(InputStream is) throws Exception {

List<Beauty> mList = null;

Beauty beauty = null;

// 由androidutilXml创建一个XmlPullParser实例

XmlPullParser xpp = XmlnewPullParser();

// 设置输入流 并指明编码方式

xppsetInput(is,"UTF-8");

// 产生第一个事件

int eventType = xppgetEventType();

while (eventType != XmlPullParserEND_DOCUMENT){

switch (eventType) {

// 判断当前事件是否为文档开始事件

case XmlPullParserSTART_DOCUMENT:

mList = new ArrayList<Beauty>(); // 初始化books集合

break;

// 判断当前事件是否为标签元素开始事件

case XmlPullParserSTART_TAG:

if (xppgetName()equals("beauty")) { // 判断开始标签元素是否是book

beauty = new Beauty();

} else if (xppgetName()equals("name")) {

eventType = xppnext();//让解析器指向name属性的值

// 得到name标签的属性值,并设置beauty的name

beautysetName(xppgetText());

} else if (xppgetName()equals("age")) { // 判断开始标签元素是否是book

eventType = xppnext();//让解析器指向age属性的值

// 得到age标签的属性值,并设置beauty的age

beautysetAge(xppgetText());

}

break;

// 判断当前事件是否为标签元素结束事件

case XmlPullParserEND_TAG:

if (xppgetName()equals("beauty")) { // 判断结束标签元素是否是book

mListadd(beauty); // 将book添加到books集合

beauty = null;

}

break;

}

// 进入下一个元素并触发相应事件

eventType = xppnext();

}

return mList;

}

@Override

public String serialize(List<Beauty> beauties) throws Exception {

// TODO Auto-generated method stub

return null;

}

}

(3) 在layout目录下新建一个布局文件pulltestxml,其内容如下:

[html] view plaincopy

<xml version="10" encoding="utf-8">

<LinearLayout xmlns:android=">

public void test(Long clusterId,boolean monitorSendAllFlag) { boolean result=false; try { String url ="中国至美xxx中国/xxx/xxxaction"; String json= >

以上就是关于从一个接口中获取数据,解析问题全部的内容,包括:从一个接口中获取数据,解析问题、网页端数据获取有哪些方式呢、C++如何获取一个网页连接的网页源文件,windows API函数是否提供了接口(不用MFC)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9779981.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存