使用Text.XML.Cursor
,是否有方便的方法来选择与几个条件之一匹配的节点(如or
函数)?
如何在以下示例中获取所有<p class="myclass">
和 <h1>
个节点的游标(按正确的顺序排列)?
<div>
<p></p>
<div></div>
<h1></h1>
<hr>
<p class="myclass"></p>
<h1></h1>
</div>
extract :: Cursor -> [Cursor]
-- Returns 3 cursors [h1, p, h1]
答案 0 :(得分:0)
有checkElement
接受谓词。
checkElement :: Boolean b => (Element -> b) -> Axis
因此,知道您的extract
是Axis
1 :
extract :: Axis
extract = checkElement yourPredicate
where
yourPredicate (Element name _ _) = any (== name) ["p", "h1"]`
添加班级检查应该很容易;匹配Element
构造函数中的第二个元素,查找class
属性,然后检查其myclass
存在的值。