0

我的公司与另一家公司合作,该公司为我们提供各种闪光仪,我们使用这些闪光仪并与我们的软件集成。这些仪表使用 XML 文件进行配置,这些文件不是特别大,但对于那些不知道他们在看什么的人来说并不直观。我自己开发了一些小东西,我可以提供给我们的客户和员工配置这个软件,使用某种形式的 GUI 界面,无论多么简单,都可以用来修改这些 XML 文件,然后保存它们,客户端边。这个想法是,这可以被放入现场安装、本地打开和使用的包中。

我们目前有一个本地 html 页面,该页面显示所有仪表的功能并存储在安装包中,以便客户可以选择他们想要使用的仪表。这导致我最初考虑扩展这个 html 页面以提供我正在寻找的功能。通过对 XML/HTML DOM 和一些 JavaScript 的各种研究,我意识到虽然我可以做我想做的操作,但没有办法在不安装另一块PHP 等软件。

我正在寻找的是有人告诉我我离基地很远,并且有一种干净的方式可以使用 HTML/JavaScript/XML 来做我想做的事情(我知道这很可能是梦想,但仍然是可取的),或指导什么语言可以用小尺寸实现。目前我们安装的包只有26mb左右,供参考。我不介意做进一步的研究,为了可行性,这实际上只是一个开始/计划的步骤。所以希望我不必在客户端机器上安装任何新软件,这可以在没有服务器端交互的本地机器上实现,以节省最小的空间。

提前感谢大家的反馈。非常感谢。

4

2 回答 2

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>

希望对你有一点帮助!祝你今天过得愉快!

于 2012-06-27T14:24:28.383 回答
0

有很多背景,但我不完全确定您问题的技术方面。一部分似乎与 HTML5 本地存储有关——这里有一个文件 API可能会有所帮助,但我自己还没有尝试过。

您问题的另一部分是关于在浏览器客户端上修改 XML。可能最好的解决方案是使用 XSLT,一种旨在转换 XML 的语言。

Saxon-CE是用于浏览器的 XSLT 2.0 处理器。作为一个 JavaScript 应用程序,它具有 JavaScript 互操作性,您需要在需要时与客户端上的本地存储集成。我知道您处于早期阶段,但如果您正在寻找可行的选择,那么 Saxon-CE 可能应该在您的名单上。

于 2012-06-27T17:33:19.563 回答