wvogel日記

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

XML(2)

昨日の続き。
バイトの仕事が一段落着いたので、作業を進める。

とりあえず、適当に(本当に適当に)書いてみた

import Text.Parsec
import Text.Parsec.String
import Control.Applicative hiding (many , (<|>))

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

parsexml :: Parser [String]
parsexml = many parsexml'

main = parseTest parsexml "<tag>hello</tag>"

さてどうなるかなーと思って動かしてみたら、

["<","tag>","hello</","tag>"]

となった。


お、いい感じですね。
まだまだ終端条件とか甘いけれど、
タグ名を抽出してやるところまでいけば良いだけですね。


ただ、致命的な問題として、私がXMLの詳しい利用法を知らないというね笑
うーん。似たものとしてhtmlがあるので、それの記述、解析とかに使えるとは思うんですが。
あ、あとはセーブデータとか