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; i
var 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();