ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript XML 操作のカプセル化 class_javascript スキル

JavaScript XML 操作のカプセル化 class_javascript スキル

WBOY
リリース: 2016-05-16 18:51:05
オリジナル
1033 人が閲覧しました
コードをコピー コードは次のとおりです。

function XMLObject()
{
this .isIE= true;
if (window.ActiveXObject){isIE=true;}else{isIE=false;}
var
var xmlDoc;
if (isIE){
xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
}
else{
if (document.implementation && document.implementation.createDocument){
xmlDoc = document.implementation.createDocument("" ,"" ,null);
}
}
xmlDoc.async = false;
xmlDoc.validateOnParse = false; ;
//文字列から XML オブジェクト (XML 文字列) を作成
this.LoadXMLForString=function(XMLStr)
{
if(isIE)
{
xmlDoc.loadXML(XMLStr) ;
}
else
{
var oParser = new DOMParser();
xmlDoc = oParser.parseFromString(XMLStr,"text/xml");
//外部ファイル(ファイルパス)から XML ファイルを作成
this.getXMLForURL=function(url)
{
//xmlDoc.load(url)
if (isIE){
xmlDoc.load(url);
}
else
{
xmlDoc = getXML(url).responseXML;
}
}
// ノードのバイトを取得Point
this.getXMLArray=function (name) {
var key = name.split('.');
var node = xmlDoc.documentElement; // ルートノードを取得します
var rtn = new Array();
var n = 0;
for(var i=0; ivar Children = node.childNodes; // 子ノードを取得します。 var key = key[i];
for(var k=0; kvar child = childs[k];
if(child.nodeName == key) { // 子ノードが
if(i ==keys.length-1) {
rtn[n] =
n ; else {
node に準拠しているかどうかを判断します。 = child;
break;
}
}
}
return rtn;
//ノードの内容を取得🎜>this .getNodeValue=function(name)
{
return this.getValue(xmlDoc,name)
}
// ノードに従って、ノードの下の子ノードのコンテンツを取得します。
this.getValue=function(node , name)
{
var key = name.split('.');
for(var i=0; i{
var Children = node.childNodes; // 子ノードを取得します
var key = key[i]
for(var k=0; k{
var child = childs[ k];
if(child.nodeName == key)
{ // 子ノードが
if(child.childNodes.length ==) に準拠しているかどうかを判断します1)
{
// バイトポイントがない場合、戻り値
if(!window.ActiveXObject)
{
return Children[k].textContent;
}
else
{
return Children[ k].text
}
}
else
{
// 子ノードもあるので、分析を続けます
ノード = 子;
}
}
}
関数 GetXMLHTTP()
{
var xmlhttp;
if (window.ActiveXObject){
try{xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch (e){xmlhttp=new ActiveXObject("Microsoft.XMLHTTP") ;}
}else if (window.XMLHttpRequest)
{xmlhttp=new XMLHttpRequest();}
return xmlhttp;
}
function getXML(url){
var xmlHttp= GetXMLHTTP();
if (xmlHttp!=null){
xmlHttp.open("GET",url,false);
}else{
alert("お使いのブラウザは XMLHTTP.11 をサポートしていません");
return false
}
return
}
}


呼び出しメソッド DEMO




コードをコピーします


コードは次のとおりです:


var strXML="子豚27Xiaoxia26 Xiaozhang 25";

var XMLObj=new XMLObject();
XMLObj.LoadXMLForString(strXML)
//XMLObj .getXMLForURL("test.xml");
document.write(XMLObj.getValue(obj, 'name.cnname')) ;
document.write(XMLObj.getValue(obj, 'age'));
document.write('
');


あはは、あまりうまく書かれていませんが、誰もが笑ってしまうような非常に単純な関数です。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート