0

私の会社は、私たちが使用し、ソフトウェアと統合するさまざまなフラッシュゲージを提供している別の会社と提携しています。これらのゲージは、構成にXMLファイルを使用します。これはそれほど大きくはありませんが、何を見ているのか正確にわからない人には直感的ではありません。私は自分自身で小さなものを開発し、顧客や従業員にこのソフトウェアを構成するために提供できるものを開発しました。このソフトウェアは、これらのXMLファイルを変更して保存するために使用できる、シンプルでありながら何らかの形式のGUIインターフェイスを利用します。側。これは、オンサイトでインストールされ、ローカルで開かれ、使用されるパッケージに組み込まれる可能性があるという考えです。

現在、すべてのゲージが機能していることを示すローカルhtmlページがあり、インストールパッケージに保存されているため、顧客は使用するゲージを選択できます。これにより、私は当初、このhtmlページを拡張して、探している機能を提供することを検討しました。XML / HTML DOMといくつかのJavaScriptに関するさまざまな調査を通じて、私は自分がやりたい操作を行うことはできますが、この変更されたXMLドキュメントをクライアントのマシンに取得する方法がないことに気付きました。 PHPなどのソフトウェア。

私が探しているのは、私がベースから離れていること、そしてHTML / JavaScript / XMLを使用して私がやろうとしていることを実行するためのクリーンな方法があることを私に知らせる誰かです(これはおそらくパイプの夢ですが、それでも望ましいです)、またはこれが小さなサイズのフットプリントで実装できる言語に関するガイダンス。私たちがインストールしている現在のパッケージは、参考のためにわずか約26MBです。さらに調査を行ってもかまいません。これは、実現可能性のための開始/計画ステップにすぎません。したがって、クライアントマシンに新しいソフトウェアをインストールする必要がないことを期待しています。これは、最小限のスペースでサーバー側の対話なしでローカルマシンに実装できます。

フィードバックをよろしくお願いします。よろしくお願いします。

4

2 に答える 2

0

背景はたくさんありますが、あなたの質問に対する技術的な側面については完全にはわかりません。一部はHTML5ローカルストレージに関連しているようです-ここで役立つかもしれないFileAPIがありますが、私はこれを自分で試していません。

質問の他の部分は、ブラウザクライアントでのXMLの変更についてです。おそらくこれに対する最善の解決策は、XMLを変換するために設計された言語であるXSLTを使用することです。

Saxon-CEは、ブラウザ用のXSLT2.0プロセッサです。JavaScriptアプリケーションであるため、必要に応じてクライアントのローカルストレージと統合する必要があるJavaScriptの相互運用性があります。あなたは初期段階にあることを理解していますが、実行可能なオプションを検討している場合は、Saxon-CEがおそらくリストに含まれているはずです。

于 2012-06-27T17:33:19.563 に答える
0

XML の操作に役立つコード スニペットを次に示します。出力を別の XML ファイルに保存することもできます。html/php/css/Javascript でレイアウトを作るだけ。

        var req = new Request({
    method : 'get',
    url: 'templates/absolu/animation.xml',
    onSuccess: function(txt,xml){
      /* we grab the XML data, particularly the content of diapositive tags */

      x=xml.documentElement.getElementsByTagName("diapositive");
      for (i=0;i<x.length;i++){
        xx=x[i].getElementsByTagName("image");
        {
          try{listeImages[i] = xx[0].firstChild.nodeValue;}
          catch (er){listeImages[i] = '';
                     list[i]['Image'] = xxx[0].firstChild.nodeValue;}
        }
        xx=x[i].getElementsByTagName("url");
        {
          try{listeURL[i] = xx[0].firstChild.nodeValue;}
          catch (er){listeURL[i] = '';
                     list[i]['URL'] = xxx[0].firstChild.nodeValue;}
        }
        xx=x[i].getElementsByTagName("text");
        {
          try{listeTextes[i] = xx[0].firstChild.nodeValue;
              liste[i]['Texte'] = xxx[0].firstChild.nodeValue;}
          catch (er){listTextes[i] = '';}
        }
        xxx=x[i].getElementsByTagName("date");
        {
        try{listeDates[i] = xxx[0].firstChild.nodeValue;}
          catch (er){listeDates[i] = "21112035";}
        }
      }

これが私のXMLファイルの内容です(スニペット)

  <diaporama>
      <diapositive>
      <date>01012015</date>
      <image>images/promos/promo-1.jpg</image>
      <url><![CDATA[index.php?option=com_content&view=article&id=70&Itemid=66&promo=FR2&promoname=Avantages_du_cable_30_95]]></url>
  </diapositive>  

  <diapositive>
    <date>01012015</date>
    <image>images/promos/promo-2.jpg</image>
    <url><![CDATA[index.php?option=com_content&view=article&id=70&Itemid=66&promo=FR2&promoname=Avantages_du_cable_30_95]]></url>
  </diapositive>
</diaporama>

少しでもお役に立てれば幸いです!良い1日を!

于 2012-06-27T14:24:28.383 に答える