ActiveSupportを使うと簡単。 XMLをハッシュに変換して、ハッシュをJSONに変換する。 require 'active_support/core_ext' xml = '<Item><Title>ひげろぐ</Title></Item>' json = Hash.from_xml(xml).to_json Hash.from_xmlがActiveSupportで追加されるメソッド。
http://tv2ch.com/jlab-10s/などユニークではないIDがあるページを参照しながら読むエントリー。 id(object)の場合 var ga = document.evaluate('id("sam_height")', document, null, 7, null); console.log(ga.snapshotLength) //1 //*[@id=object]の場合 var gi = document.evaluate('//*[@id="sam_height"]', document, null, 7, null); console.log(gi.snapshotLength) //20 結果 小難しいことはさておき、id(object)は一つだけ検出する。ハードコアな動作。 //*[@id=object]は素直に全て探してきてくれる。 関連 ノード集合関
crackを使うとお手軽。 crackはXMLパーサがMerb,JsonパーサがRailsから拝借してるそう。 gem install crackrequire 'rubygems' require 'crack' # XMLをパース Crack::XML.parse("<tag>This is the contents</tag>") # => {'tag' => 'This is the contents'} # JSONをパース Crack::JSON.parse('{"tag":"This is the contents"}') # => {'tag' => 'This is the contents'} jsonライブラり使ったりしてxml→jsonも簡単
require 'rubygems' require 'nokogiri' builder = Nokogiri::HTML::Builder.new{ html{ body{ h1{ "hello, world" } } } } puts builder.to_html または、より短く puts Nokogiri{ html{ body{ h1{ "hello, world" } } } } のように書くこともできる。 HTMLの生成 上の例を参照。 XMLの生成 builder = Nokogiri::XML::Builder.new{ book{ author{ "yhara" } title{ "..."} } } puts builder.to_xml のようにする。 to_htmlがto_xmlになったくらいで、HTMLの生成と違いはない 要素の生成 Builder.newの
要約 RubyでHTMLからTeXへのトランスレータを書いた。 NokogiriのNokogiri::XML::SAX::Documentあたりを使うのが便利そうに感じたが、実際にやるとソースコードが崩壊した。 SAXではなくDOMを用いて階層構造を再帰で辿ったほうがいい。さらにメタプログラミングを用いると割と簡潔な記述にできる。 原因 RubyでのXML操作にはデファクトスタンダードとなりつつあるNokogiri。 HTMLから特定のタグを抽出して……のようなお手軽パースには大変快適なんですが、XMLの全部のタグにアクションを起こすような本格的にパースするとき、すごくやりづらい気がする。そもそもググッてもロクなexampleがでてこない しょうがないので試行錯誤して、まずNokogiriのSAXを使った。 SAXはXMLを「要素の始まり」、「要素の終わり」、「テキスト」の3つにわけ、それ
質問 質問者:tomoko7171 simplexmlで取得したデータを配列へ。 困り度: 困ってます simplexmlで取得したデータを配列へ。 PHP5のsimplexml_load_fileでデータにアクセスし、配列に 入れたいのですが、うまくいきません。 $xml = simplexml_load_file($file); $arrayA = array(); foreach($xml->A as $A){ array_push($arrayA, $A); } print_r($arrayA); とすると、 Array ( [0] => SimpleXMLElement Object ( [0] => data1 ) [1] => SimpleXMLElement Object ( [0] => data2 ) [2] => SimpleXMLElemen
XMLをバイナリ化して効率的に圧縮することで転送速度や処理に必要なメモリ容量を小さくし、モバイルデバイスなどでも扱いやすくした「Efficient XML Interchange」(EXI)を、W3Cが3月10日に勧告しました(記事末にリンクしたEXIワーキンググループチェア 上谷卓己氏のビデオによると「エクシィ」と読むようです。)。 XMLは、表現したい値にタグ付けをして意味を示すというマークアップ言語の性格上、XML文書が肥大化しがちで、XML文書から値を取り出すためのパース処理も重くなるという課題を抱えていました。 例えばXMLで「20歳」という年齢を表現しようとすると<age>20</age>となり、20という2文字の値に対して11文字ものタグが付くことになります。そのためXMLによるデータ交換は効率が悪く、性能が出にくいものでした。その結果、JSONのようにシンプルなフォーマット
最近担当ししている案件で、データベース内にクライアントからアップロードされたファイルをデータベースに格納する方法について何度か議論があった中の一部で、PHPだったらどうやるのだろうと、不思議に思ったので、試してみました。 流れは以下のとおりです。 静的HTMLを表示 uploadボタンをクリック アップロードされたファイルを表示 流れは以上、超単純です。 データベースの用意 データベースの構成は以下のとおり。 ※実は5番の「ファイル容量」は不要かもしれないですね。 項番 フィールド名(論理) フィールド名(物理) 型 Not null Primary Auto increment 1 ファイルID id int ◯ ◯ ◯ 2 ファイル名 file_name varchar 3 Mime type mime_type varchar 4 ファイルの内容 file blob 5 ファイル容
JSONとは何か? JSONとはJavaScript Object Notationの略で、XMLなどと同様のテキストベースのデータフォーマットです。 その名前の由来の通りJSONはJavaScriptのオブジェクト表記構文のサブセットとなっており、XMLと比べると簡潔に構造化されたデータを記述することができるため、記述が容易で人間が理解しやすいデータフォーマットと言えます。 なお、JSONは2006年に「RFC 4627(http://www.rfc-editor.org/rfc/rfc4627.txt)」として公開されています。 例としてXMLとJSONで同じデータを記述したものをリスト1とリスト2に示します(図1)。 リスト1のXMLではすべての情報をタグで囲んだテキストノードとして記述していますが、XMLでデータを表現する場合、データの記述方法として属性とテキストノードの使い分けが
Kawa.netxp [ajax] JKL.ParseXML/ajax通信処理ライブラリ JKL.ParseXML クラスは、サーバ上の XML 形式ファイルをダウンロード~解析して、 JavaScript オブジェクト(配列やマップ)に変換するライブラリです。 複雑な DOM 操作なく簡単なスクリプトで XML 形式ファイルを扱えるため、 Amazon など XML を出力する既存の Web サービスや、 CGI と連携することで ajax ページを手軽に構築できます。 IE・Firefox・Opera・Safari のクロスブラウザに対応しています。 XML を JSONのように手軽に扱える他、 JSON/CSV/LoadVars 形式ファイルなどのテキストファイルも利用可能です。 安定版アーカイブ: jkl-parsexml-0.22.tar.gz TAR.GZ jkl-parsex
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く