真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

jqueryxml的簡單介紹

JQuery如何為XML對象添加節(jié)點(diǎn)

$(function()?{

十余年的德興網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整德興建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“德興網(wǎng)站設(shè)計(jì)”,“德興網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

//定義一個(gè)xml對象

var?x?=?$("xmlitemscenter?//items/xml");

//在?center節(jié)點(diǎn)的結(jié)尾添加一個(gè)?bottom節(jié)點(diǎn)?,然后在center節(jié)點(diǎn)的開頭添加一個(gè)top節(jié)點(diǎn)

x.find("center").appendXml("bottom?/").prependXml("top?/");

//在?center節(jié)點(diǎn)的后面添加一個(gè)after節(jié)點(diǎn),然后在center節(jié)點(diǎn)的前面添加一個(gè)before節(jié)點(diǎn)

x.find("center").afterXml("after?/").beforeXml("before?/");

alert(x.xml());

});

(function($)?{

function?mnpXml(opCode,?xmlStr)?{

return?this.each(function()?{

if?(typeof?xmlStr?!=?"string")?return;

if?(!jQuery.isXMLDoc(this))?return;

var?node?=?$.parseXml(xmlStr).firstChild.cloneNode(true);

switch?(opCode)?{

case?"append":

this.appendChild(node);

break;

case?"prepend":

if?(this.childNodes.length??0)

this.insertBefore(node,?this.firstChild);

else

this.appendChild(node);

break;

case?"after":

if?(this.nextSibling)

this.parentNode.insertBefore(node,?this.nextSibling);

else

this.parentNode.appendChild(node);

break;

case?"before":

this.parentNode.insertBefore(node,?this);

break;

}

});

}

$.fn.extend({

appendXml:?function(s)?{

return?mnpXml.call(this,?"append",?s);

},

prependXml:?function(s)?{

return?mnpXml.call(this,?"prepend",?s);

},

afterXml:?function(s)?{

return?mnpXml.call(this,?"after",?s);

},

beforeXml:?function(s)?{

return?mnpXml.call(this,?"before",?s);

},

xml:?function()?{

var?elem?=?this[0];

return?elem.xml?||?(new?XMLSerializer()).serializeToString(elem);

},

innerXml:?function()?{

var?s?=?this.xml();

var?i?=?s.indexOf(""),?j?=?s.lastIndexOf("");

if?(j??i)

return?s.substring(i?+?1,?j);

else

return?"";

}

});

$.extend(jQuery,?{

parseXml:?function(xmlStr)?{

if?(window.ActiveXObject)?{

var?xd?=?new?ActiveXObject("Microsoft.XMLDOM");

xd.async?=?false;

xd.loadXML(xmlStr);

return?xd;

}

else?if?(typeof?DOMParser?!=?"undefined")?{

var?xd?=?new?DOMParser().parseFromString(xmlStr,?"text/xml");

return?xd;

}

else?return?null;

},

toXml:?function(obj,?nodeName,?useAttr)?{

var?x?=?$($.parseXml(""?+?nodeName?+?"?/"));

var?n?=?x.find(":first");

for?(var?p?in?obj)?{

if?(useAttr)

n.attr(p,?obj[p]);

else

n.appendXml(""?+?p?+?"?/").find(p).text(obj[p]);

}

return?x[0];

}

});

})(jQuery);

[img]

JQuery 讀取XML文件失敗

jquery的 text()僅能讀取出xml中不含標(biāo)簽的文字部分。

而 html() 辦法也絕對讀不出xml中的標(biāo)簽。

現(xiàn)在給你兩種解決辦法:

辦法一,不用ajax,而用jquery的load()辦法。前提是你知道load()怎么用。

將你需要讀取的的xml代碼塊外面套一層html標(biāo)簽,比如div什么的,再給他加個(gè)ID,比如:

info

div id="xxx"

小牛情侶紙巾套,很可愛的一對小情侶哦!br /

趕快領(lǐng)回家吧!br /

超軟的面料,超可愛的造型,冷冷的冬天抱在手上也是br /

很享受的事情哦!/div/info

這樣,用

$("選擇器").load("xml文件的url #xxx")

就可以讀出。

這辦法有2種缺點(diǎn)。

一,這辦法不是ajax,雖然有點(diǎn)像

二,需要改動(dòng)xml原文件。

辦法二,使用一小段jquery插件:

/**

* jQuery xml plugin - Converts XML node(s) to string

* Dual licensed under the MIT and GPL

* Copyright (c) 2009 Radim Svoboda

* @version 1.0.0

*/

jQuery.fn.xml=function(all){var s="";if(this.length)

(((typeof all!='undefined')all)?this:jQuery(this[0]).contents()).each(function());return s;};

以上為插件代碼。

使用以上代碼后,就可以使用ajax讀取xml文件中的文字和標(biāo)簽了。比如:

$.get('xml文件url',function(data));

其中xml()括號里有兩個(gè)參數(shù)0和1可以選。

0代表讀取 info標(biāo)簽里面的內(nèi)容

1代表讀取 info標(biāo)簽以及標(biāo)簽里面的內(nèi)容

這種辦法,缺點(diǎn)暫時(shí)沒發(fā)現(xiàn)。

好了,我寫了那么多,分給我吧?

JQuery解析XML數(shù)據(jù)的幾個(gè)簡單實(shí)例

用JavaScript解析XML數(shù)據(jù)是常見的編程任務(wù),JavaScript能做的,JQuery當(dāng)然也能做。下面我們來總結(jié)幾個(gè)使用JQuery解析XML的例子。

第一種方案:

script

type="text/javascript"

$(document).ready(function()

{

$.ajax({

url:

'',

dataType:

'xml',

success:

function(data){

//console.log(data);

$(data).find("channel").find("item").each(function(index,

ele)

{

var

titles

=

$(ele).find("title").text();

var

links

=

$(ele).find("link").text();

console.log(titles+'-----');

$("#noticecon").find('ol').append('lia

href="'+links+'"'+titles+'/a/li');

});

}

});

})

/script

div

id="noticecon"

ol

/ol

/div

第二種方案:

script

type="text/javascript"

$.get("",

function(data){

$(data).find('channel').find('item').each(function(index,

ele){

var

titles

=

$(ele).find('title').text();

var

links

=

$(ele).find('link').text();

$("#noticecon").find('ol').append('lia

href="'+links+'"'+titles+'/a/li');

})

});

/script

div

id="noticecon"

ol

/ol

/div

一般步驟如下:

1.

讀取xml文件

$.get("xmlfile.xml",function(xml){

//xml即為可以讀取使用的內(nèi)容,具體讀取見第2點(diǎn)

});

2.

讀取xml內(nèi)容

如果讀取的xml是來于xml文件,這結(jié)合上面的那點(diǎn),處理如下:

$.get("xmlfile.xml",function(xml){

$(xml).find("item").length;

});

如果讀取的是xml字符串,則要注意一點(diǎn),xml字符串的必然被"xml"和"/xml"包圍才可以被解析

$("xmlrootitem/item/root/xml").find("item").length;

解析xml內(nèi)容:

示例xml:

?xml

version="1.0"

encoding="utf-8"

?

fields

field

Name="Name1"

fieldnamedsname/fieldname

datatype字符/datatype

/field

field

Name="Name2"

fieldnamedstype/fieldname

datatype字符/datatype

/field

/fields

以下是解析示例代碼:

$(xml).find("field").each(function()

{

var

field

=

$(this);

var

fName

=

field.attr("Name");//讀取節(jié)點(diǎn)屬性

var

dataType

=

field.find("datatype").text();//讀取子節(jié)點(diǎn)的值

});

以上這篇JQuery解析XML數(shù)據(jù)的幾個(gè)簡單實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

jQuery加載xml失敗

為什么要用絕對路徑呢

改成相對路徑就能通過,以后也好修改


網(wǎng)頁題目:jqueryxml的簡單介紹
瀏覽地址:http://weahome.cn/article/dsohcis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部