wvogel日記

自分用の技術備忘録が多めです.

XML

さてさて。さっき、C++であんなコードを書いていたら。


あ、HaskellXML読もう!
と思って書いてみることに
でもまだ、Parsecの流れが良く理解できていない。
いや、流れというか、式解析の順序かな。

まず < を読んだら、次に > が出るまで読んで、みたいな?
そして、入れ子の時には、その読み込んだタグを渡して次のタグと一致するかどうかを確認していけばいいと思うんですがね。


まあ、まず文字の読み出しがうまくいかないのでなんとも.......
眠い
寝よう


ちなみに、関数は今こんな感じ

parsexml :: Parser String
parsexml = do  try (string ">")
               <|> try (string "</")
               <|> try (string "<")
               <|> (:) <$> letter <*>
               parsexml

これだと、

<tag>hello</tag>

とやったときに、<
しか読まれない。当たり前ですね。
なので、ちゃんと順々に実行されるように書いてやらないと
とりあえず寝る.....