2012-05-10 6 views
0

1つのXMLファイルをJavaScriptで人間が読める形式に変換したいと考えています。理由は次のとおりです。1つのファイルでJavaScriptを使用してXMLデータをフォーマットする

  1. どこでも使える人間が読める文書を生成する必要があります。 (Windows、Mac、Linux、iPhone、Android、Blackberryなど)
  2. この情報は、私が定義したC++データ構造から出てきています。
  3. 写真を含める必要があります。
  4. この文書は、一度作成されると添付ファイルとして送信されます。単一のファイルとして働くことはできますが、唯一の非常に最新のモバイルデバイスでサポート:

    • XSLT:

私はに見てきました。

  • CSS:私が必要とするものを得るのに十分な洗練されたフォーマットではないと思います。
  • PDF:オープンソースライブラリを環境に組み込む必要があります。私は良い選択肢がある場合、これをしないことを好むでしょう。
  • 私はJavaScriptを見ています。しかし、最初の質問は、JavaScriptフォーマット/同じファイルに存在するXMLデータを表示できますか?もしそうなら、どうですか?

    +0

    XMLは単なるマークアップ言語であり、HTML以上に直接表示することは意図されていません。また、イメージやリソースを埋め込むための単純なメカニズムもありません.HTMLはそれに適しています。 Javascriptはドキュメントの操作に役立ちますが、表示とは関係ありません。デバイスに依存しない**ドキュメント**をお望みなら、PDFがはるかに良い選択です。あらゆるデバイスの視聴者が数多くあり、一部の環境ではネイティブでサポートされています。 – RobG

    +0

    私はPDFを使って立ち往生しようとしていると思っていました。 – user877576

    答えて

    0

    をあなた奇妙なことをしたい。単一のJavaScriptまたはCSSファイルを画像付きの可読文書として使用することはできません。それはただ不可能です。なぜあなたはHTMLを使用しないのですか? HTMLページにCSSとJavaScriptを組み込み、必要な外観と動作をほとんど得ることができます。 HTMLは単一のファイルとして使用できます。画像は、データを使用してHTMLページに含めることができます:uri。

    0

    サーバー側のオプション(サーバー側のXSLTなど)が望ましいと思われますが、利用できない場合は、JavascriptまたはJQueryでXMLドキュメントを解析できます。 JQueryを使用してこれを行う方法の簡単な例は、http://api.jquery.com/jQuery.parseXML/を参照してください。この例では、XMLから「title」要素を取得し、それをID「somelement」のHTML要素に追加します。

    var xml = ""; // TODO get your xml here 
    var xmlDoc = $.parseXML(xml); 
    var $xml = $(xmlDoc); 
    var title = $xml.find("title"); 
    $("#someelement").text(title); 
    

    プレーンなJavascriptを使用している場合は、HTMLと同じようにXMLを解析できます。

    が次にあなたがそうのようなXML文書を解析することができます:たとえば、あなたがこのようなXML持っているとしましょう...

    var items = myXml.getElementsByTagName('item'); 
    var text = items[0].getAttribute('text'); 
    $("#someelement").text(text); 
    

    希望に役立ちます

    関連する問題