[#47290] 改行やタグを含むデータをmysqlでinsertするには — Yosuke Suzuki <yosuke.suzuki@...>
鈴木と申します。
8 messages
2010/08/11
[#47292] Re: 改行やタグを含むデータをmysqlでinsertするには
— 田口 浩 <h-taguchi@...>
2010/08/11
たまーに投稿する田口ともうします。
[#47303] マッチしない正規表現「.*?」が遅い? — SATOH Fumiyasu <fumiyas@...>
さとうふみやす @ OSSTech です。
7 messages
2010/08/16
[#47314] ruby on github and NonComitterHowto — masayoshi takahashi <maki@...>
高橋征義です。こんにちは。
6 messages
2010/08/18
[#47321] [ANN] Ruby 1.9.2リリース — "Yuki Sonoda (Yugui)" <yugui@...>
-----BEGIN PGP SIGNED MESSAGE-----
9 messages
2010/08/18
[#47323] 無欲マッチの使い方 — AOKI Yoshihiro <aoki@...>
青木と申します。
6 messages
2010/08/20
[#47339] [ANN] rcairo 1.8.5 — Kouhei Sutou <kou@...>
須藤です。
10 messages
2010/08/28
[#47340] GAEについて — "T.Soejima" <clev@...2.so-net.ne.jp>
お世話になっております。そえじま@勉強中です。
6 messages
2010/08/28
[ruby-list:47299] Re: 改行やタグを含むデータをmysqlでinsertするには +追加 XMLの操作
From:
Yosuke Suzuki <yosuke.suzuki@...>
Date:
2010-08-14 14:06:46 UTC
List:
ruby-list #47299
> def insert_record(tablename, hash)
> st = mysql.prepare("insert into #{tablename}(#{hash.keys*','})
> values(#{['?']*hash.size*','})")
> st.execute(hash.values)
> end
簡潔に書けるのですね。
ありがとうございます。
ちなみに、今回やっている部分で、新につまずいたことが
あるので、またまたご教授いただけないでしょうか。
すごい簡略化してますが、
以下のような構造を持つXMLから、DBに書き込むということを
考えています。
<rdf>
<item>
<title>hoge</title>
<id>1</id>
<hage:link>
<hage:linkTitle>hagehage1</hage:linkTitle>
</hage:link>
<hage:link>
<hage:linkTitle>hagehage2</hage:linkTitle>
</hage:link>
<hage:link>
<hage:linkTitle>hagehage3</hage:linkTitle>
</hage:link>
</item>
略 itemが繰り返し
</rdf>
このデータをいったん配列に取り込むために、
以下のような処理を書いています。
doc = REXML::Document.new(body).elements['rdf']
doc.elements.each('item') {|item|
word = Hash.new()
lresultset = []
item.elements.each {|property|
word["#{property.name}"] = property.text
property.elements.each('link') {|link|
lword = Hash.new()
link.elements.each {|lproperty|
lword["#{lproperty.name}"] = lproperty.text
}
lresultset << l_word
}
}
itemの子ノードはきちんとデータが拾えますが、
孫ノードに当たる部分(item->link->linkTitle)がうまく拾えません。
孫ノードだけを拾うというのは、できましたが、
今回のデータの拾い方としては、子ノードと孫ノードをセットにして
配列に入れる必要があります。
rexmlのドキュメントなど眺めてみましたが、
今ひとつ理解できませんでした。
--
--------------------------
Yosuke Suzuki
yosuke.suzuki@gmail.com