Calender
Sun Mon Tue Wed Thu Fri Sat
     12
3456789
10111213141516
17181920212223
24252627282930
<< November 2019 >>
広告
SEARCH

SELECTED ENTRIES
RECENT COMMENTS
RECENT TRACKBACK
CATEGORIES
ARCHIVES
LINKS
PROFILE
OTHERS
SKYPE
PC: skype.jojo.jp
chat
iPad: iphone.jojo.jp
chat call
THANKS



本日:
昨日:
多言語
広告
 ▼▲ 作業日報 ▼△
    What's under the hood?
<< クワッドモニタ仕様にしました (MARMGUS12W) | main | フレーム生成部をXSLからJavaScriptへ仕様変更 >>
msxml:transformNode php:transformToXML のパラメータに悩む
 1画面で設定情報(XML)から、項目別の設定画面をJavaScriptで「MSXML2.XMLHTTP」経由で取り出し構成する必要があったのですが、自分中でPHPのDOMの先入観からMSXML2利用の時もXSLTオブジェクト(XSLT側のDOM)のtransformメソッド、で、パラメータとして処理されるDOMをパラメータとして与える。という初歩的なところで躓いてしまいました。なかなか★の部分のパラメータの位置が違うとに気づかず約1日悩んでいしまいました、、たらーっ
function setSubContents(){
 
    var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
 
    var strurl;
    var nodeItem;
    var nodeClass;
    var strclass;
    var strclassText;
    var strclassSetup;
    var strHtml;
 
    document.all['item_jobs'].innerHTML ='';
    //該当ノード摘出
    var nodes = domUserData.selectNodes('/item/param/item_job');
 
    for (var i = 0; i < nodes.length; i++){
            //
            nodeItem = nodes.item(i);
            strclass= nodeItem.attributes.getNamedItem('id').text;
            //
            strclassSetup ='hoge.xsl';
            //
            strurl = url_class_base + strclass+'/'+strclassSetup;
            //
            xmlhttp.open("GET",strurl,false);
            //
            xmlhttp.send('');
 
            if (xmlhttp.status != 200 ) {
 
                    alert(strurl + ' ' +xmlhttp.status+'¥n'+xmlhttp.responseText);
 
            } else {
 
                    strHtml = xmlhttp.responseXML.transformNode( nodeItem );//★★
 
                    document.all['item_jobs'].innerHTML += strHtml;
            };
    };
    xmlhttp=null;
};
↓正解
    strHtml = nodeItem.transformNode( xmlhttp.responseXML );//★★
 PHPの方は変換処理の際にはXSLTProcessorという別のオブジェクトが必要なのに対し、MSXML2はノード(XMLDOMNode)がtransformNodeメソッドを持っていて便利です。
| Linux | 14:02 | comments(0) | trackbacks(0) |









http://blog.jojo.jp/trackback/884787