我最近发表了一篇关于使用HXT pickles进行解析的文章。经过一些阅读之后,我决定使用常规的HXT。
但是,我无法创建列表,即。我有一个XML文档:
<meta>
<sampleQuery>sample1</sampleQuery>
<sampleQuery>sample2</sampleQuery>
</meta>和一个解析函数
parseMeta =
proc x -> do
meta <- deep (isElem >>> hasName "meta") -< x
sampleQueries <- getText <<< getChildren <<< deep (hasName "sampleQuery") -< meta
returnA -< Meta sampleQueriessampleQueries应该有字符串类型(在本例中是“sample1”,"sample2“),但我无法做到这一点。
发布于 2013-11-20 07:58:30
箭头符号在这里似乎有点过头了。
import Text.XML.HXT.Core
xml = unlines
[ "<meta>"
, "<sampleQuery>sample1</sampleQuery>"
, "<sampleQuery>sample2</sampleQuery>"
, "</meta>"
]
queries = hasName "meta" /> hasName "sampleQuery" /> getText
main = runX (readString [] xml /> queries) >>= print这将如预期的那样打印["sample1","sample2"]。
https://stackoverflow.com/questions/19660835
复制相似问题