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

时间:2017-03-11 20:11:11

标签: r xml tei

我在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 =&#34; ANT&#34;而且我不想。

如何从getNodesSet中排除此值?

事先,谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用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"