Xml XPath:获取节点中最后一个同级的值
我正在尝试创建一个XPath表达式,以便在MS InfoPath中使用,以检索节点中最后一个同级的值。(希望我的措辞正确,因为我几乎没有使用过XPath) 我需要识别“RepeaterGroup”节点中“NamesEval”节点的最新实例。假设我会看看“史蒂夫”是否参加了最新的活动;我将使用Xml XPath:获取节点中最后一个同级的值,xml,xpath,siblings,Xml,Xpath,Siblings,我正在尝试创建一个XPath表达式,以便在MS InfoPath中使用,以检索节点中最后一个同级的值。(希望我的措辞正确,因为我几乎没有使用过XPath) 我需要识别“RepeaterGroup”节点中“NamesEval”节点的最新实例。假设我会看看“史蒂夫”是否参加了最新的活动;我将使用contains(LatestEvent,“Steve”)XPath表达式检查这一点。如何让“LatestEvent”仅加载最新的“NamesEval”值 1. 2012-09-14 2. 2012-09-
contains(LatestEvent,“Steve”)
XPath表达式检查这一点。如何让“LatestEvent”仅加载最新的“NamesEval”值
1.
2012-09-14
2.
2012-09-15
史蒂夫
艾希礼
乔希
史提夫;艾希礼;乔希;
3.
2012-09-16
阿曼达
格雷格
史蒂夫
阿曼达;格雷格;史提夫;
编辑和回答
Choroba回答了下面的问题-以下是解决方案:
//my:RepeaterGroup[0=count(以下兄弟姐妹::my:RepeaterGroup)]///my:NamesEval
我不确定是否理解您的问题。如果试图验证最后一个NamesEval是否包含字符串“Steve”,则可以使用以下XPath表达式:
contains((//my:NamesEval)[last()],'Steve')
我不确定我是否理解你的问题。如果试图验证最后一个NamesEval是否包含字符串“Steve”,则可以使用以下XPath表达式:
contains((//my:NamesEval)[last()],'Steve')
Ugh-InfoPath表示“不支持位置和最后一个”。这就像记事本++XML工具XPath计算器中的champ。诅咒你微软!!!!!!!!它必须是网络支持的。。。这个表达式有希望,尽管我不完全理解它
//my:NamesEval[count(后面的兄弟姐妹::my:NamesEval)=0]
。在NPP++中,它仍然返回所有节点…@Chris:NamesEval
s不是兄弟节点。好吧-我的术语是错误的(我想可能是这样);如何定义它们?非常感谢您的帮助。@Chris:maybuly//my:RepeaterGroup[0=count(以下兄弟姐妹::my:RepeaterGroup)]///my:NamesEval
?Ugh-InfoPath说“不支持position和last”。这就像记事本++XML工具XPath计算器中的champ。诅咒你微软!!!!!!!!它必须是网络支持的。。。这个表达式有希望,尽管我不完全理解它//my:NamesEval[count(后面的兄弟姐妹::my:NamesEval)=0]
。在NPP++中,它仍然返回所有节点…@Chris:NamesEval
s不是兄弟节点。好吧-我的术语是错误的(我想可能是这样);如何定义它们?我很感谢您的帮助。@Chris:maybe//my:RepeaterGroup[0=count(跟随兄弟姐妹::my:RepeaterGroup)]//my:NamesEval
?顺便说一句,您的解决方案更惯用的版本是//my:RepeaterGroup[not(跟随兄弟姐妹姐妹::my:RepeaterGroup)]//my:NamesEval
。顺便说一句,您的解决方案更惯用的版本是//my:RepeaterGroup[not(以下同级::my:RepeaterGroup)///my:NamesEval
。