Hatena::ブログ(Diary)

@vvakame の日記

2008-12-18

ルートがformなノードでPageElement作るとFormが作られないバグ復活

| 01:38 | ルートがformなノードでPageElement作るとFormが作られないバグ復活 - @vvakame の日記 を含むブックマーク

昔XmlDocumwnt使ってた時に"//form"とかでルートから検出しに行くとひっかからないバグがあった

DescendantsだとLINQ to XMLで使えるようにしたと思ってたけど子孫要素以降からじゃないとひっかからない!

302 Found

ほぉ

LINQ と XPath

ほぉぉー

…XContainerをPageElementとか構成するときの基本要素にしてる俺涙目じゃね…(DescendantsAndSelfを使いたい)

XDocument.RootでXElementが取れるな

DTD宣言落ちてる(解釈されて消えた?)っぽいけど気にしないでおこう困らないだろうし

2008-12-15

明日やりましょそうしましょ

| 02:09 | 明日やりましょそうしましょ - @vvakame の日記 を含むブックマーク

昨日のメモは一応こなした

その場凌ぎっぽいけど簡単綺麗な方法が思いつかない

no title

なるほどなるほど

とりあえずサンプルプログラムまでは簡単に動いた

LINQ to SQLクラスの生成はどうやってやるんじゃろー...?

ライセンスパブリックドメイン(感謝の正拳突きしてからなら再配布してもなにしてもよさげ)

中身ちょろんと見た感じLINQも対応してるよ的なことが書いてあったような

これ開発してる人すごすぎだろJK.

2008-12-14

C#でMechanizeっぽくしてみるメモ

| 02:44 | C#でMechanizeっぽくしてみるメモ - @vvakame の日記 を含むブックマーク

PageはAgentから作られることになってるけど、XDocumentからユーザがPageElementを作れたほうがいいかもしれない

現状以下のようなことをすると、めかちゃんのコントロール下からはどっかにいってしまう

Agent agent = new Agent();
Page page = agent.get("http://hogehoge.com/");

var div = page.Root.Descendants(MechaUtil.XN + "div").ElementAt(2); // ここで得られるのはXElement
div.Forms[0]; // Error!! 僕の気持ちわかってないよ!

なのでXElementからPageElementを作れる何かがあったほうが便利だと思う

page.Descendants(〜〜〜) で IEnumerable<PageElement>が返ってくるのでもいいし変換できる関数を用意するのでもいいかもしれない

RubyのMehanizeはHpricotとうまく混ざって(むしろどこがどっちかわからない)すごく使いやすかったから頑張りたいね

話飛ぶけどC#にもマクロ欲しいよ!