タグ

xmlに関するauientのブックマーク (6)

  • XPath (XML Path Language) とは

    XPath(XML Path Language)とは、XMLで記述されたデータの問い合わせ言語です。SQLのSELECTのように、条件を指定してXMLデータを取得することができます。この記事では、XPathの使い方をご紹介します。 XPathとは XMLデータはツリーとしてモデル化でき、また、要素や属性などXMLデータを構成する各パーツは、ツリーを構成するノードとしてモデル化できます。XPathのデータモデルでは、XMLデータを以下の7種類のノードから構成されるツリーと考えます。 ルートノード(最上位ノード) 要素ノード(XMLの要素を表すノード) テキストノード(開始タグと終了タグで挟まれた文字列データ) 属性ノード(要素内で指定された属性をあらわすノード) 名前空間ノード(名前空間を表すノード) 処理命令ノード(処理命令を表すノード) コメントノード(コメントを表すノード) XMLの取

  • http://aoproj.web.fc2.com/xpath/XPath_cheatsheets_v2.pdf

  • XMLでは属性にすべきか要素にすべきか - たこはちの「へのかっぱ」日記

    いまさらXMLの解説ではないが、オブジェクトをXMLで永続化しようとした場合、オブジェクトの属性を要素(element)で表現するか、属性(attribute)で表現するかが悩むところだ。elementで表現する場合は、さらにそのelementのテキスト(text)で表現するか、elementのattributeで表現するかも問題となる。昨日、ある方から質問をいただいたので久々に考えてみた。XMLは以前、eXcelon(現Cyber Luxeon)とYggdrasill(現EsTerra)を使用した経験があり、その時分に考えていたことを思い出してみた。 <user id="1234" name="tacohachi" birthday="1970-10-13"/> <!-- または --> <user> <id>1234</id> <name>tacohachi</name> <birth

    XMLでは属性にすべきか要素にすべきか - たこはちの「へのかっぱ」日記
  • NokogiriでXMLをガチParseするためのメタプログラミング - 方向

    要約 RubyHTMLからTeXへのトランスレータを書いた。 NokogiriのNokogiri::XML::SAX::Documentあたりを使うのが便利そうに感じたが、実際にやるとソースコードが崩壊した。 SAXではなくDOMを用いて階層構造を再帰で辿ったほうがいい。さらにメタプログラミングを用いると割と簡潔な記述にできる。 原因 RubyでのXML操作にはデファクトスタンダードとなりつつあるNokogiri。 HTMLから特定のタグを抽出して……のようなお手軽パースには大変快適なんですが、XMLの全部のタグにアクションを起こすような格的にパースするとき、すごくやりづらい気がする。そもそもググッてもロクなexampleがでてこない しょうがないので試行錯誤して、まずNokogiriのSAXを使った。 SAXはXMLを「要素の始まり」、「要素の終わり」、「テキスト」の3つにわけ、それ

    NokogiriでXMLをガチParseするためのメタプログラミング - 方向
  • Nokogiriメモ。XMLを解析する - ぽひゅっとメモ

    別途で、XMLファイルを出力するのも書きます(次の日記) まず今回の日記は Nokogiriでxmlファイルを読み込む・解析のやり方について(メモ程度)。 抽象的すぎて良い例ではないですが、こんなXMLがあったとする <xml_node> <test_node type="a"> <hoge> <hoge_child>hoge1</hoge_child> <hogehoge>hoge2</hogehoge> </hoge> <fuga>fuga1</fuga> <piyo>piyo1</piyo> </test_node> <test_node type="a"> <hoge> <hoge_child>hoge3</hoge_child> <hogehoge>hoge4</hogehoge> </hoge> </test_node> <test_node type="b"> <hoge>

    Nokogiriメモ。XMLを解析する - ぽひゅっとメモ
  • RubyでXML操作: Netsphere Laboratories

    Warning. (2019.1) REXML は, 標準添付ですが, 品質・速度の両面であまりよくありません。Nokogiri (鋸) がメジャーで、長らく標準の地位で使われています。REXML の3倍速い。 最近は, 大鋸 (おが) の人気が高い。スレッドセーフ、高速、機能性もある。Yorick Peterse / oga · GitLab REXMLの特徴 REXMLは、 XML 1.0に準拠した、高速なXMLパーサで、DOMツリーを生成したり、XML文書を読みながらコールバックさせる (SAX2ストリームパーサ) ことができる。 XPathの実装を含み、検索式によってDOMツリーの好きな要素を取り出すことができる。 Ruby 1.8.5にはREXML 3.1.4が添付されている。チュートリアル、APIリファレンスは下記で見られる。が、APIリファレンスのほうは不十分かつ誤りもある。

  • 1