[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[orca-tech:01865] Re: PHPでの新APIの利用法を教えてください
- To: orca-tech@xxxxxxxxxxxxxx
- Subject: [orca-tech:01865] Re: PHPでの新APIの利用法を教えてください
- From: HayatoYoshitomi <yoshitomi@xxxxxxxxxxx>
- Date: Sat, 28 Apr 2012 11:34:41 +0900
吉冨@佐賀です。
file_get_contentsが同期通信を行いますので、時間が掛かっているのは
タイムアウトで次の処理に進んでいるからだとおもいます。
file_get_contentsを使う場合には先に
ini_set('default_socket_timeout',1);
として行えば速くなるかと思います。※標準は60です。
(2012/04/28 4:41), Shinji KOBAYASHI wrote:
> こっちでもやってみました。
> 確かに遅いので調べてみましたが、XMLの解析に手間取っているようです。
> 結構冗長なファイルなので、比較的高速なXMLReaderに切り替えてみましたが、
> element名がrecordとかstringとか重なりまくっているのと,attribute名もnameとか
> なので,いろいろと手間です。もう少し上手にname space定義したほうがいいと思います。
>
> 色々やってみた結果,これだと結構速いです。phpは初心者なのでもっといい書き方が
> あるとは思いますけれども。
>
> <?php
>
> $reader = new XMLReader();
> $reader->open("http://trial:@trial.orca.med.or.jp:8000/api01r/patientget?id=1");
>
> while($reader->read()) {
> if ($reader->localName == "array") {
> break;
> }
> if ($reader->nodeType == XMLREADER::ELEMENT) {
> $attr_name = $reader->getAttribute("name");
> if ($attr_name) {
> echo $attr_name.": ";
> $reader->read();
> echo $reader->value."<br />\n";
> }
> }
> }
>
> ?>
>