下面这段代码,只能在ie下通过,firefox下因为不能跨域读取数据,所以不能在ff下运行。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="EditPlus">
<meta name="Author" content="kind">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head><style>
body {
font-size: 12px;
}td {
word-break: break-all;
}
</style><body><table id="tbl_Show" border="1" cellspacing="0"></table>
</body>
</html><script language="JavaScript">
<!--
//定义xmlHttp
var xmlHttp;//定义接收数组
var _arr = new Array();/*
* 生成xmlHttp
*/
function createXMLHttpRequest() {
if (window.ActiveXObject) {
try {
//使用IE 6.0以上的版本
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e1) {
//使用IE 5.5以下的版本
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
}
else if (window.XMLHttpRequest) {
//使用FireFox等其他浏览器
xmlHttp = new XMLHttpRequest();
}
}/*
* 从给定地址中取出所需内容
*/
function getContent() {
//初始化xmlHttp
createXMLHttpRequest(); if (xmlHttp) {
//定义xml路径
var _xmlUrl = "http://202.108.11.89:8088/cpro/ui/uijs.php?i=1717986918&p=baidu&q=baidu_test_cpr&n=3&c=news&k=%CF%CA%BB%A8.%C0%F1%CE%EF&u=www.baidu.com/info.html&s=1"; //数据读取
xmlHttp.open("GET", _xmlUrl, false);
xmlHttp.send(); //取得结果
var _xml = xmlHttp.responseXML; //得到节点内容
var _nodes = _xml.documentElement.childNodes; //得到所需节点内容
var _nodeAds = _nodes[2].childNodes; //循环取得预设值
for (var i = 0; i < _nodeAds.length; i++) {
//取得单条广告内容
var _ad = _nodeAds[i].childNodes; //建立临时数组,储存各项记录
var _arrTmp = new Array(); //存储标题
_arrTmp[0] = _ad[2].text;
//存储描述
_arrTmp[1] = _ad[3].text;
//存储显示网址
_arrTmp[2] = _ad[4].text;
//存储链接网址
_arrTmp[3] = _ad[5].text; //写入全局变量
_arr[i] = _arrTmp;
}
}
}/*
* 测试所读数据内容
*/
function testArr() {
var _tbl = document.getElementById("tbl_Show"); for (var i = 0; i < _arr.length; i++) {
var _tr = _tbl.insertRow(_tbl.rows.length); var _arrTmp = _arr[i]; for (var j = 0; j < _arrTmp.length; j++) {
var _td = document.createElement("td"); _td.innerHTML = _arrTmp[j];
_tr.appendChild(_td);
}
}
}//调用读数据过程
getContent();//测试数据
testArr();
//-->
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="EditPlus">
<meta name="Author" content="kind">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head><style>
body {
font-size: 12px;
}td {
word-break: break-all;
}
</style><body><table id="tbl_Show" border="1" cellspacing="0"></table>
</body>
</html><script language="JavaScript">
<!--
//定义xmlHttp
var xmlHttp;//定义接收数组
var _arr = new Array();/*
* 生成xmlHttp
*/
function createXMLHttpRequest() {
if (window.ActiveXObject) {
try {
//使用IE 6.0以上的版本
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e1) {
//使用IE 5.5以下的版本
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
}
else if (window.XMLHttpRequest) {
//使用FireFox等其他浏览器
xmlHttp = new XMLHttpRequest();
}
}/*
* 从给定地址中取出所需内容
*/
function getContent() {
//初始化xmlHttp
createXMLHttpRequest(); if (xmlHttp) {
//定义xml路径
var _xmlUrl = "http://202.108.11.89:8088/cpro/ui/uijs.php?i=1717986918&p=baidu&q=baidu_test_cpr&n=3&c=news&k=%CF%CA%BB%A8.%C0%F1%CE%EF&u=www.baidu.com/info.html&s=1"; //数据读取
xmlHttp.open("GET", _xmlUrl, false);
xmlHttp.send(); //取得结果
var _xml = xmlHttp.responseXML; //得到节点内容
var _nodes = _xml.documentElement.childNodes; //得到所需节点内容
var _nodeAds = _nodes[2].childNodes; //循环取得预设值
for (var i = 0; i < _nodeAds.length; i++) {
//取得单条广告内容
var _ad = _nodeAds[i].childNodes; //建立临时数组,储存各项记录
var _arrTmp = new Array(); //存储标题
_arrTmp[0] = _ad[2].text;
//存储描述
_arrTmp[1] = _ad[3].text;
//存储显示网址
_arrTmp[2] = _ad[4].text;
//存储链接网址
_arrTmp[3] = _ad[5].text; //写入全局变量
_arr[i] = _arrTmp;
}
}
}/*
* 测试所读数据内容
*/
function testArr() {
var _tbl = document.getElementById("tbl_Show"); for (var i = 0; i < _arr.length; i++) {
var _tr = _tbl.insertRow(_tbl.rows.length); var _arrTmp = _arr[i]; for (var j = 0; j < _arrTmp.length; j++) {
var _td = document.createElement("td"); _td.innerHTML = _arrTmp[j];
_tr.appendChild(_td);
}
}
}//调用读数据过程
getContent();//测试数据
testArr();
//-->
</script>
StreamReader sr = null;
try
{
string strURL = http://cpro.baidu.com/cpro/ui/uijs.php?i=3673458753&p=fundabc&q=fundabc_cpr&n=15&c=news&t=baiduCPROXMLSimple&u=www.honpher.cn&s=1";
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)WebRequest.Create(strURL);
System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
s = response.GetResponseStream();
sr = new StreamReader(s, System.Text.Encoding.GetEncoding("GB2312"));
string str = sr.ReadToEnd(); Regex re = new Regex(@"<title>(?<text>\S*)</title>\n<curl>(?<url>\S*)</curl>", RegexOptions.Compiled);
ArrayList al = new ArrayList();
for( Match m = re.Match(str); m.Success; m = m.NextMatch() )
{
try
{
TextAd ad = new TextAd();
ad.Title = m.Groups["text"].ToString();
ad.Url = m.Groups["url"].ToString();
al.Add(ad);
}
catch{}
}
// 字符串建立代码
}
catch{}
finally
{
if (sr!=null)
sr.Close();
if (s!=null)
s.Close();
}
2、将xml字符串读取字符串数组;
3、将字符串数组显示到特定格式的htm网页上,像下图中那样。
就是把两部分合起来,因为我的js能力完全菜鸟,把两部分合起来都是问题。谢谢了。
2、将xml字符串读取字符串数组;
3、将字符串数组显示到特定格式的htm网页上,像下图中那样。 就是把两部分合起来,因为我的js能力完全菜鸟,把两部分合起来都是问题。谢谢了。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="EditPlus">
<meta name="Author" content="kind">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head><style>
table.ads {
border: 1px silver solid;
background-color: white;
}td.link {
vertical-align: top;
cursor: pointer;
}font.title {
font-weight: bold;
font-size: 13px;
font-family: "宋体";
color: #3388FF;
text-decoration: underline;
}font.content {
font-size: 12px;
color: black;
}font.link {
font-size: 11px;
color: green;
}
</style><body onload="addAds()"><table id="tbl_Ads"></table></body>
</html><script language="JavaScript">
<!--
//设置变量组
var _vars = {
//广告部分所用数组
ads: new Array(),
//定义xmlHttp
xmlHttp: null
};/*
* 生成xmlHttp
*/
function createXMLHttpRequest() {
if (window.ActiveXObject) {
try {
//使用IE 6.0以上的版本
_vars.xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e1) {
//使用IE 5.5以下的版本
_vars.xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
}
else if (window.XMLHttpRequest) {
//使用FireFox等其他浏览器
_vars.xmlHttp = new XMLHttpRequest();
}
}/*
* 从给定地址中取出所需内容
*/
function getContent() {
//初始化xmlHttp
createXMLHttpRequest(); if (_vars.xmlHttp) {
//定义xml路径
var _xmlUrl = "http://202.108.11.89:8088/cpro/ui/uijs.php?i=1717986918&p=baidu&q=baidu_test_cpr&n=3&c=news&k=%CF%CA%BB%A8.%C0%F1%CE%EF&u=www.baidu.com/info.html&s=1"; //数据读取
_vars.xmlHttp.open("GET", _xmlUrl, false);
_vars.xmlHttp.send(); //取得结果
var _xml = _vars.xmlHttp.responseXML; //得到节点内容
var _nodes = _xml.documentElement.childNodes; //得到所需节点内容
var _nodeAds = _nodes[2].childNodes; //循环取得预设值
for (var i = 0; i < _nodeAds.length; i++) {
//取得单条广告内容
var _ad = _nodeAds[i].childNodes; //建立临时数组,储存各项记录
var _arrTmp = new Array(); //存储标题
_arrTmp[0] = _ad[2].text;
//存储描述
_arrTmp[1] = _ad[3].text;
//存储显示网址
_arrTmp[2] = _ad[4].text;
//存储链接网址
_arrTmp[3] = _ad[5].text; //写入全局变量
_vars.ads[i] = _arrTmp;
}
}
}/*
* 页面载入时处理
*/
function addAds() {
initTblAds();
getContent();
insAds();
}/*
* 初期化表格
*/
function initTblAds() {
var _tbl = document.getElementById("tbl_Ads");
_tbl.className = "ads";
_tbl.width = "730px";
_tbl.height = "90px";
}/*
* 链接指定地址
*/
function linkUrl(obj) {
var _num = obj.linkNum;
window.open(_vars.ads[_num][3]);
}/*
* 填充表格
*/
function insAds() {
//计算单元格宽度
var _tbl = document.getElementById("tbl_Ads");
var _width = _tbl.width / 3; //建立一行tr至表格
var _tr = _tbl.insertRow(0);
//var _linkUrl = new Array(_vars.ads[0][3], _vars.ads[1][3], _vars.ads[2][3]);
//alert(_linkUrl.length); for (var i = 0; i < 3; i++) {
//建立单元格,设置风格
var _td = document.createElement("td");
_td.style.width = _width;
_td.className = "link"; //设置单元格的点击事件
_td.linkNum = i + "";
_td.onclick = function() {linkUrl(this)}; //填充标题部分,设置css
var _txt1 = document.createElement("font");
_txt1.innerHTML = _cut.title(_vars.ads[i][0]);
_txt1.className = "title"; //填充文本部分,设置css
var _txt2 = document.createElement("font");
_txt2.innerHTML = _cut.txt(_vars.ads[i][1]);
_txt2.className = "content"; //填充链接部分,设置css
var _txt3 = document.createElement("font");
_txt3.innerHTML = _vars.ads[i][2];
_txt3.className = "link"; //填充内容至单元格
_td.appendChild(_txt1);
_td.appendChild(document.createElement("br"));
_td.appendChild(_txt2);
_td.appendChild(document.createElement("br"));
_td.appendChild(_txt3); //最后设置tr内容
_tr.appendChild(_td);
}
}//设置剪切方法
var _cut = {
//剪切标题部分
title: function(_word) {
return _cut.cnt(_word, 16, false);
},
//剪切文本部分
txt: function(_word) {
return _cut.cnt(_word, 39, true);
},
//剪切方法
cnt: function(_word, _len, flgAddDot) {
var _l = 0;
var _w = ""; //计算单字节及双字节长度,根据指定长度剪切
for (var i = 0; i < _word.length; i++) {
if (_word.charCodeAt(i) > 255) {
//汉字为双字节
_l += 2;
}
else {
_l++;
} if (_l > _len * 2) {
if (flgAddDot) {
_w += "..";
}
break;
}
else {
//取得相应长度的文字
_w += _word.charAt(i);
}
} return _w;
}
};
//-->
</script>
_tr.appendChild(_td);
这两行后面增加如下代码:
//增加空域
var _space = document.createElement("td");
_space.style.width = 5;
_space.innerHTML = " ";
_tr.appendChild(_space);