怎样获取public cms内容扩展数据的值

怎样获取public cms内容扩展数据的值,第1张

参考代码如下:Typetype=objectGetType();switch(typeToString()){case"SystemInt32":return"他是一个整数";break;case"SystemString":return"字符串"break;case"SystemByte[]":return"二进制信息"}

获取内页内容最直接的办法就是选择要复制的内容,右击鼠标复制,或者CTRL+C复制,ctrl+v粘贴即可。

对于此方法无法复制的网页内容可以通过在浏览器右上角的工具-查看源代码,

把该文字的第一句用CTRL+F查找这段文字,

把记住你要复制文字的开头和结尾,选择后网页文字和代码一起复制,

再通过一个HTML编程器进行转换,像这里就是HTML的编辑器,或者在网站后台发布文章的位置点击源码,

这时候其他图标都变成灰色。

复制刚刚的文字,然后再粘贴,

这时候有代码,请再点击一下源码,切换回来刚刚的状态

文字变成正常网页显示的内容,再复制粘贴即可。

用Clipboard类的GetDataObject()方法得到剪贴板中的数据,该方法返回一个IDataObject 用IDataObject对象的GetDataPresent(SystemType format)判断IDataObject对象中存储的数据是否可以转换为指定的格式,该方法接收一个参数,该参数必须是系统预定义的一种格式类型,该方法返回bool值。 用IDataObject对象的GetData(SystemType format)方法得到数据内容,该方法返回Object使用前要进行类型转换。 例如: // GetDataObject检索当前剪贴板上的数据 IDataObject iData = ClipboardGetDataObject(); // 将数据与指定的格式进行匹配,返回bool if (iDataGetDataPresent(DataFormatsText)) { // GetData检索数据并指定一个格式 thistextBox1Text = (string)iDataGetData(DataFormatsText); } else { MessageBoxShow("剪贴板中数据不可转换为文本","错误"); }

Clipboard类的GetDataObject()方法得到剪贴板中的数据,该方法返回一个IDataObject

用IDataObject对象的GetDataPresent(SystemType format)判断IDataObject对象中存储的数据是否可以转换为指定的格式,该方法接收一个参数,该参数必须是系统预定义的一种格式类型,该方法返回bool值。

用IDataObject对象的GetData(SystemType format)方法得到数据内容,该方法返回Object使用前要进行类型转换。

一、获取剪贴板数据

二、将数据放到剪贴板上

粘贴 *** 作我们主要用到的方法为:GetDataObject()用来检索剪贴板中的数据,它返回的是任何格式的数据,我们用IDataObject (它是一个接口,用来提供传送任何数据的机制)来接收。IDataObject接口实例的GetDataPresent (Type Format)方法返回bool值,用来确定实例中所存储的数据是否与所给格式相关联,或者可以相转化。另外就是DataFormats类,该类主要是用来标识格式用的。

只能通过JavaScript来获取, 然后通过JS获取, 然后通过JavaScriptInterface来传递给Java层。

做webview,遇到2种需求,一种是在自己服务器上的HTML中获取数据,另一种是通过自己服务器上的HTML中的超链接跳到另一个站点的HTML中,并获取数据。

于是,总结了2种通过webview获取网页上的数据的方式:

第一种:简单点的,直接通过js调java,在调用方法的过程中将数据通过方法的参数传递给Android端,(前提:服务端有对应的faxun对象,而且调用的方法是showImages(String[] imgUrls))。

class MyJavaScriptInterface {

MyJavaScriptInterface() {

}

/

js调java,显示

@param imgUrls

/

@JavascriptInterface

public void showImages(String[] imgUrls) {

LogUtilsi(TAG, "imgUrls = " + imgUrls[0]);

NewsDetailWebviewActivitythisimgUrls = imgUrls;

}

}

webViewaddJavascriptInterface(new MyJavaScriptInterface(), "faxun");

第二种:有点复杂,通过webview注册一个本地接口后,然后通过java调js,拿到document对象后,解析HTML标签,然后数据会通过本地接口中的回调方法传递给Android端,(前提:HTML页面中的meta标签中有对应的reply_info名称和content属性,数据是封装在content里面的json格式的字符串)。

class MyWebClient extends WebViewClient {

@Override

public void onPageFinished(WebView view, String url) {

viewloadUrl("javascript:windowgetShareDataOnGetShareData("

+ "documentquerySelector('meta[name=\"reply_info\"]')getAttribute('content')" + ");");

superonPageFinished(view, url);

}

}

private class GetShareDataInterface {

@JavascriptInterface

public void OnGetShareData(String shareData) {

if (null != shareData) {

try {

JSONObject shareJson = new JSONObject(shareData);

title = shareJsonoptString("title");

description = shareJsonoptString("description");

imageUrl = shareJsonoptString("imageUrl");

} catch (JSONException e) {

eprintStackTrace();

}

}

}

}

webViewsetWebViewClient(new MyWebClient());

其实,如果是普通的需求,两种方式都可以解决问题,但是如果是有些HTML没有做js调java,只是个普通的HTML,并且需要获取页面上的数据时,只能通过第二种方式来获取HTML上的数据了,比如获取HTML上的title等等。

如果要用正则的话,

String re = "content=[\\"']([^\\"'>]+)[\\"']";

String str = "<meta name=\"keywords\" content=\"这里是想要的内容 \" />"+

"<meta content=\"这里是想要的内容 \"  name=\"keywords\" />"+

"<meta content='这里是想要的内容'  name='keywords' >"+

"<meta   name=keywords  content=这里是想要的内容>";

 

Pattern p = Patterncompile(re);

Matcher m = pmatcher(str);

// Read the docs on how to use the matcher object

答:setAttribute(Stringname,Object):设置名字为name的request的参数值

getAttribute(Stringname):返回由name指定的属性值

getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例

getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组

getCharacterEncoding():返回请求中的字符编码方式

getContentLength():返回请求的Body的长度

getHeader(Stringname):获得>

getHeaders(Stringname):返回指定名字的requestHeader的所有值,结果是一个枚举的实例

getHeaderNames():返回所以requestHeader的名字,结果是一个枚举的实例

getInputStream():返回请求的输入流,用于获得请求中的数据

getMethod():获得客户端向服务器端传送数据的方法

getParameter(Stringname):获得客户端传送给服务器端的有name指定的参数值

getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例

getParameterValues(Stringname):获得有name指定的参数的所有值

getProtocol():获取客户端向服务器端传送数据所依据的协议名称

getQueryString():获得查询字符串

getRequestURI():获取发出请求字符串的客户端地址

getRemoteAddr():获取客户端的IP地址

getRemoteHost():获取客户端的名字

getSession([Booleancreate]):返回和请求相关Session

getServerName():获取服务器的名字

getServletPath():获取客户端所请求的脚本文件的路径

getServerPort():获取服务器的端口号

removeAttribute(Stringname):删除请求中的一个属性

以上就是关于怎样获取public cms内容扩展数据的值全部的内容,包括:怎样获取public cms内容扩展数据的值、QT打开一个网页,并获取网页内容,该怎么处理、如何获取粘贴板上的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://www.54852.com/web/9300747.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存