如何获得具有指定文本的子节点的节点?

时间:2019-01-17 11:50:02

标签: xpath

有一个xml:

<mgns1:Champ_supplementaire>
  <mgns1:CODE_CS>1</mgns1:CODE_CS>
  <mgns1:VALEUR_CS>2</mgns1:VALEUR_CS>
</mgns1:Champ_supplementaire>
<mgns1:Champ_supplementaire>
  <mgns1:CODE_CS>2</mgns1:CODE_CS>
  <mgns1:VALEUR_CS>M</mgns1:VALEUR_CS>
</mgns1:Champ_supplementaire>
<mgns1:Champ_supplementaire>
  <mgns1:CODE_CS>3</mgns1:CODE_CS>
  <mgns1:VALEUR_CS>LOC</mgns1:VALEUR_CS>
</mgns1:Champ_supplementaire>

我想让节点mgns1:Champ_supplementaire有一个孩子mgns1:CODE_CS,其文本为2。该怎么做?

我尝试了

NodeList nodeliste_cs2 = (NodeList) xpath.evaluate( "//mgns1:Champ_supplementaire[//mgns1:CODE_CS=2]//mgns1:VALEUR_CS",doc, XPathConstants.NODESET);

1 个答案:

答案 0 :(得分:1)

users = [[u'ken'], [u'ted']] user_id = [ {u'UserName': u'ted', u'LastSeen': u'x'}, {u'UserName': u'ken', u'LastSeen': u'x'} ] user_list = [] for user in users: user_list.append(user[0]) a = user_list user_details = [] for element2 in a: for element in user_id: if element['UserName'] == element2: user_details.append(element) break else: user_details.append([element2 + ' ' + 'not found in list']) print(user_details)

表示如果存在//node_foo[//node_bar=2]且值为node_foo的{​​{1}} 在DOM中的任何地方

,则选择第一个找到的node_bar

2

表示选择首先找到的//node_foo[node_bar=2],如果它有自己的孩子 node_foo,且值为node_bar

所以你需要

2