タグ

xmlに関するpipeheadのブックマーク (18)

  • PythonでExpatを使用してXML文書の高速な解析を行う - 試験運用中なLinux備忘録・旧記事

    (バージョン2.0以上の)Pythonでは、Expatというライブラリが提供する機能(xml.parsers.expatモジュール)により、XML文書の構文高速にを解析することができる。 解析器の種類としてはストリーム型かつイベント駆動型となり、文書の内容を先頭から読み進めて、要素などを発見したところで内部的な「イベント」が発生し、特定の(ハンドラ)関数が呼び出される仕組みになっている。 なお、Pythonではこの他に、同じタイプのxml.saxと、XMLツリー全体を保持するタイプのxml.dom(の系列)も用意されていて、いずれもバージョン2.0から利用できる(ここでは扱わない)。 Python ライブラリリファレンス: 13.5 xml.parsers.expat -- Expat を使った高速な XML 解析 Python ライブラリリファレンス: 13.6 xml.dom -- 文

    PythonでExpatを使用してXML文書の高速な解析を行う - 試験運用中なLinux備忘録・旧記事
  • [JavaScript]responseXMLではまった / LiosK-free Blog

    2007-09-08 カテゴリ: Client Side タグ: JavaScript Ajax XMLHttpRequest Tips ブラウザ DOM XML PHP XMLHttpRequestのresponseXMLを使ってJavaScriptでXMLを読み込んでいたときにいろいろとつまづいたので、サンプルコードを書きつつメモ。間違いやもっといい方法などがあればぜひ教えていただきたい。 サンプルのXMLは、ホットペッパー Webサービス料理名マスタAPI(application/xml)のデータを使わせてもらった。 一部抜粋すると↓のような感じ。 - 料理名マスタAPI <Results> <NumberOfResults>64</NumberOfResults> <APIVersion>1.11</APIVersion> <Food> <FoodCD>R001</FoodCD>

  • elementtree - chrono-meterの日記

    正直どうかと思うよ。 きちんとしてない XML の解析は BeautifulSoup でやる方が楽。 インポート Python 2.5 からは標準モジュールになったので場所が違うらしい。 try: from xml.etree import ElementTree except: from elementtree import ElementTree 文字列から解析 root = ElementTree.fromstring(contents) エレメント 真偽値は常に False になるっぽい #タグ名 しばしば名前空間が付くので使いにくい e.tag #属性 e.attrib #中身 e.text #子エレメント e.getChildren() #すべて列挙 e.getiterator() #検索 XPathのサブセット e.find(path), e.findall(path) 名前

    elementtree - chrono-meterの日記
  • Python/XML HOWTO

    1 Introduction to XML ch1 では、XML と、関連する標準について概要説明する。 詳細について知りたければ、W3C 勧告を読むのが一番。(1.4節にリンクがある) XML について知っていれば、ch1 はトバしてよい。 Ch2 以降では XML に関する術語については知っているものとする。 Java SAX の実装についての知識は前提としない。 1.1 Elements, Attributes and Entities XML ドキュメントは単一のエレメントから構成される。 エレメントはタグで表される。 タグは常に角括弧対 <> で囲まれている。 エレメントは開きタグと閉じタグの間にコンテンツを含むことができる。下に例を示す。 HTML と違って XML のタグでは、大文字小文字を識別する。 <name>Euryale</name> カラのエレメントは、タグ末尾のス

  • PythonでXMLを扱う(6) - 二十代は模索のときブログ

    Python MemoSAXにてXMLの階層構造を扱う際、あるタグの内部に入ったことをフラグにて判断する方法があると思う。例えば以下のようにフラグを用いることで、hogeタグの内部に入ったのか入っていないのかを判断できる。 class SimpleHandler(ContentHandler): def __init__(self): self.inHoge = False def startElement(self, name, attrs): if.name == "hoge": self.inHoge = True def endElement(self, name): if.name == "hoge": self.inHoge = False ただこれ、もうちょっとスマートに出来ないものかと、ContentHandlerを動的に変更することができないかどうか試してみた。それが出来

  • PythonでXMLを扱う(5) - 二十代は模索のときブログ

    Python Memo前回まではDOMを使っていたが、今回からはSAX(Simple API for XML)を使ってXMLを扱ってみる。DOMと違ってメモリ上にXMLファイルの情報を全て読み込むようなことはなく、順次読み込みを行い、読み込んだ内容に対して逐次イベントを発生させる仕組みのAPIである。Wikipedia : Simple API for XMLXML文書をツリー構造として扱うDOMと異なり、一連のイベントとして表現するイベント駆動型のAPIである。したがって、アプリケーションが積極的にAPIにアクセスするDOMに対し、SAXではアプリケーションがイベントが来るのを待ち受ける受動的な動作が大部分を占める。あるXMLを扱うアプリケーションを作成する際、DOMを使うかSAXを使うかは、両者のメリットデメリットをしっかり認識した上で扱うべきであるが、一般的に大きなサイズのXMLファ

  • XML Path Language - Wikipedia

    XML文書に XPath の式を適用したイメージ XML変換におけるXPathの位置付け XML Path Language (XPath(エックスパス)) は、マークアップ言語 XML に準拠した文書の特定の部分を指定する言語構文である。XPath自体は簡潔な構文 (式言語) であり、XMLベースのマークアップ言語ではない。標準化団体 W3C (World Wide Web Consortium) で開発され、1999年11月16日に XML Path Language (XPath) 1.0 が XSL Transformations (XSLT) 1.0 と同時に勧告として公表された[1][2]。XPathは、XSLT と XSL-FO とともに XSL の構成要素である。2007年1月23日、W3C で XPath 1.0 の次期バージョンが制定され、XPath 2.0 が XSL

    XML Path Language - Wikipedia
  • iandeth. - XML::Simple は遅い説における意外な落とし穴 - おまけ編

    iandeth. Perl, Flash ActionScript, MySQL, Movable Type, システム開発 - そんなテーマのサイトdeth. 目次: 背後で利用している XML::SAXパーサーの確実な確認方法 $/ 変数の状態によって利用パーサーが変わる妙について 背後で利用している XML::SAXパーサーの確実な確認方法 基的な確認方法は前回記事にて記述しましたが、より確実に、コード実行時に利用しているパーサーが何なのかを確かめたい場合は、ちと泥臭いですが、以下のように XML::Simple のソースコードに直接追記する事で確認できます。 XML::Simple (Simple.pm) の build_tree 関数の以下の箇所(v2.14ならば281-283行目)に $XML::SAX::ParserPackage = $preferred_parser i

  • XML::Simple は遅い説における意外な落とし穴 (iandeth.)

    「XML::Simpleは処理速度が遅い」説といえばNDO::Weblogさんの記事 Perl で XML の処理はどれが速いかベンチ がすぐに思い浮かびます。初見した時はずいぶん感心した覚えがあり、以来、業務で XML::Simple を使う事に多少なりとも躊躇するようになったものです。そんな中、現在仕事で XML parsing with Perl な案件を受け、CPANにUPされている様々な XML 解析系モジュールの処理速度を計測しているのですが、その際気付いた、XML::Simple の意外な落とし穴についてまとめてみました。 目次: まとめ デフォルトで呼ばれるXML::SAXパーサーの確認方法 ベンチマーク比較 関連情報 まとめ だらだら説明するのもナンなので、いきなり結論から。XML::Simple は、デフォルトの状態だと XML::SAX がインストールされている場合、

  • ElementTreeモジュールについて — PythonMatrixJp

    ElementTreeの使い方の基礎 XMLパーサライブラリであるElementTreeの使い方! 目次 特長 ピュアPythonコードで実現されているので、 プラットフォームを選ばず、コンパイルレスで動作します。 (当サイトではCGIサーバにインストールして使っています。) Pythonオブジェクト形式でアクセス出来るようになっており、 Pythonユーザには扱いやすい。 おんなじスペックで速度が必要ならcElementTreeというモジュールもあるようです。 Python2.5以降では標準で内蔵されるようになりました。 Python2.5以降を使う場合、パッケージの入手は必要ありません。 ただし、importするパッケージ名が変わっています。 以下の文書におけるパッケージ名「elementtree」を「xml.etree」に読み替えてください。

  • XML::Simple におけるパーサーの実行速度比較 - naoyaのはてなダイアリー

    XML::Simple は、どんな XML でも Perl のデータ構造に自動変換してくれるかなり便利なモジュールなのですが、中でツリーを解析したりいろいろやってるせいもあって、速度的にはあまり誉められたものではありません。以前に Perl で XML の処理はどれが速いかベンチ で比較したときには、随分遅いなという印象でした。 ただ、XML::Simple はその中で利用するパーサーを色々切り替えられるようになっています。じゃあそれを切り替えたら少しは速くなるんだろうかと気になってベンチを取ってみました。 XML::Simple は $XML::Simple::PREFERRED_PARSER に任意の SAX パーサーを指定するとそれを使ってパースするようになっています。 XML::LibXML::SAX XML::SAX::Expat XML::SAX::ExpatXS XML::P

    XML::Simple におけるパーサーの実行速度比較 - naoyaのはてなダイアリー
  • iandeth. - XML::Simple の使い方 part.2

    search.cpan.org XML::Simple ↑基的な使い方はCPANにすべて記載されてます(当たり前)。 ですので作者人も触れていない、「日語を含んだXML」をXML::Simpleで取り扱う際のポイントをココで紹介してみようかと思います (仕事で使う際にbashi人が調べて気づいた事のみになりますが)。 ※文字コード「EUC-JP」または「SHIFT_JIS」の日語を扱う場合のみ下記指摘は該当します。「UTF8」の日語文字のみ使用している場合は問題無いように見えます。 XML → Perl で、前回の続き。 XMLヘッダタグをつけてあげると日語を含むXMLデータも正常に XMLin メソッドで取り込める、という所まで前回書きました。では今回は取り込んだ後のPerl構造体について。実際に取り込んだ後の構造体を出力してみると不具合は一目瞭然です。 ※以下、文字コード

  • [ Perl & XML ] XML::Simple の使い方 : iandeth.

    search.cpan.org XML::Simple ↑基的な使い方はCPANにすべて記載されてます(当たり前)。 ですので作者人も触れていない、「日語を含んだXML」をXML::Simpleで取り扱う際のポイントをココで紹介してみようかと思います (仕事で使う際にbashi人が調べて気づいた事のみになりますが)。 ※文字コード「EUC-JP」または「SHIFT_JIS」の日語を扱う場合のみ下記指摘は該当します。「UTF8」の日語文字のみ使用している場合は問題無いように見えます。 Perl → XML use XML::Simple; my $p = { bronze => { dragon => "shiryu", pegasus => "seiya", phoenix => "ikki" } }; my $x = new XML::Simple; my $xml = $x

  • iandeth. - XML::Parser と encoding指定について

    Perl XMLでencoding='Shift_JIS'や'euc-jp'を使う Hippo2000さんの上記ページにお世話になったのでご紹介。 PerlでXML扱う際におそらく使う事になるであろう XML::Parser モジュールですが、標準インストールの状態ではエンコーディング指定が EUC-JP や Shift_JIS になっているXMLを読み込むとエラーになります(XMLのヘッダ情報が以下のようになっているもの)。 <?xml version="1.0" encoding="euc-jp" ?> または <?xml version="1.0" encoding="shift_jis" ?> なのでこれらのXMLを XML::Parser にて読み込む為に必要な処置/対策が Hippo2000さんのページにて簡潔に述べられています。感謝〜。 ※XML::SimpleやXML::D

  • NameBright - Coming Soon

    scollabo.com is coming soon This domain is managed at

    pipehead
    pipehead 2004/03/31
  • タグと要素(エレメント)の違いを説明して

    タグと要素(エレメント)は、正確には違うものなのでしょうか。意味の違いがよく分かりません。説明してください。 回答/富士ソフトABC株式会社 技術調査室 2001/6/28 タグと要素(エレメント)は、異なるものを指しています。W3Cの勧告「Extensible Markup Language (XML) 1.0 (Second Edition)」によると、それぞれは以下のように定義されています。 document ::= prolog element Misc* element ::= EmptyElemTag | STag content ETag STag ::= '<' Name (S Attribute)* S? '>' ETag ::= '</' Name S? '>' EmptyElemTag ::= '<' Name (S Attribute)* S? '/>' conte

    pipehead
    pipehead 2001/06/28
  • タグの大文字小文字の区別、使える文字を教えて

    タグを自分で定義するときには、大文字と小文字は区別されるのでしょうか。また、分かりやすいように漢字やひらがなのタグを作ってもいいのですか? 回答/富士ソフトABC株式会社 技術調査室 2001/2/6 タグにおいて、英字の大文字と小文字は区別されます。また、漢字やひらがなを使ってもタグを定義できます。 XML文書で使用できる文字については、W3C のXML 1.0 勧告 (Extensible Markup Language 1.0 Second Edition)の2.2項で定義されています。使用できる文字は、タブ、改行、復帰、UnicodeおよびISO/IEC 10646で規定する文字で、コードで表わすと0x09、0x0A、0x0D、0x20~0xD7FF、0xE000~0xFFFD、0x10000~0x10FFFF となっています。 タグの記述については、同じ勧告の3.1項で定義されて

    pipehead
    pipehead 2001/02/06
  • 正しいコメントを書こう

    HTML文書の中で、ソースを読みやすくするため、コメントをセクションの区切りとして用いている人は少なくないでしょう。しかし、コメントの書式は正しく理解されていないことが多く、誤った用法を頻繁に見かけます。実際に支障が出ることは少ないのですが、厳密なブラウザでは内容が読めなくなってしまうこともあり、注意が必要です。 コメントのきちんとした定義はHTMLのバージョンによって微妙に異なりますが、基的には コメントは <!-- 注釈の文 --> という形式で、これ以上余計なハイフンを使っちゃだめ と理解しておくのがよいでしょう。(2016現在ではHTMLなら少し緩和されることになりそうです) HTML 2.0で定義されていたコメント HTML 2.0の場合、RFC 1866の"3.2.5. Comments"において次のように定義されていました: To include comments in a

  • 1