xml R 中的-tei:从具有多个值的属性中排除一个值

xml-tei in R: exclude a value from attribute with multiple values

我在 xml-tei 文件的属性 @ana 中有多个值:

<!-- xml-tei -->    
<w type="verb" ana="#ŠNS01 #destruction #action #ANT" />

在 R 中,我想计算一些 @ana 值:

#in R    
nodes=getNodeSet(doc,"//ns:w[contains(@type,'verb') and contains(@ana,'#action') and contains(@ana, '#destruction')]", ns)
    total_actionDes <- length(nodes)
    total_actionDes

但它也算@ana="ANT",我不想。

如何从 getNodesSet 中排除该值?

提前谢谢。

您可以使用not()函数:

library(XML)
doc <- xmlParse('<w type="verb" ana="#SNS01 #destruction #action #ANT"/>', asText = TRUE)
getNodeSet(doc,"//w[contains(@type,'verb') and contains(@ana,'#action') and contains(@ana, '#destruction') and not(contains(@ana, 'ANT'))]")
# list()
# attr(,"class")
# [1] "XMLNodeSet"