小编Wil*_*vel的帖子

使用xpath查找节点的位置

任何人都知道如何使用xpath获取节点的位置?

说我有以下xml:

<a>
    <b>zyx</b>
    <b>wvu</b>
    <b>tsr</b>
    <b>qpo</b>
</a>
Run Code Online (Sandbox Code Playgroud)

我可以使用以下xpath查询来选择第三个<b>节点(<b> tsr </ b>):

a/b[.='tsr']
Run Code Online (Sandbox Code Playgroud)

这一切都很好,但我想返回该节点的序号位置,如:

a/b[.='tsr']/position()
Run Code Online (Sandbox Code Playgroud)

(但更多工作!)

它甚至可能吗?

编辑:忘了提到我正在使用.net 2所以它是xpath 1.0!


更新:结束使用James Sulak出色答案.对于那些感兴趣的人,我在C#中的实现:

int position = doc.SelectNodes("a/b[.='tsr']/preceding-sibling::b").Count + 1;

// Check the node actually exists
if (position > 1 || doc.SelectSingleNode("a/b[.='tsr']") != null)
{
    Console.WriteLine("Found at position = {0}", position);
}
Run Code Online (Sandbox Code Playgroud)

xpath

85
推荐指数
4
解决办法
11万
查看次数

从C#迁移到VB.Net

因此,作为这个全球金融市场的直接结果,我明天将开始作为VB.net开发人员的新工作.到目前为止,我一直在开发C#(java,vb6,sql,tibco等等)

所以问题是这个,有什么需要注意的,有没有人对编写好的vb.net代码有什么好的建议?

(关于应对薪水/潜在客户的任何其他建议都会受欢迎,但不是必要的;-))


只是一个快速更新,公司看起来非常好,目前的代码库看起来质量非常高.我开始适应VB的做事方式(虽然不能阻止自己添加分号!).再次感谢大家的有益建议.

c# vb.net

15
推荐指数
2
解决办法
3080
查看次数

使用来自 IParameterInspector AfterCall 可以处理的 WCF Rest 服务的消息返回 HttpStatus 代码

那么,我在使用自定义属性装饰的几个服务中获得了许多方法。

该属性用途ApplyDispatchBehaviorIOperationBehavior附加到方法和BeforeCallAfterCall从方法IParameterInspector之前和服务方法被调用后做一些处理。

一切都很好,很好……当服务方法需要返回 http 状态和消息时,问题就来了。我能找到的唯一方法是让方法WebFaultException<T>传递我们的消息和适当的 http 状态。

问题AfterCall在于从未调用附加属性。

它的长短是:

  • 有没有办法在不抛出异常的情况下返回消息并设置 http 状态?
  • 如果我必须抛出 aWebFaultException<T>有没有办法仍然可以使用返回的消息调用我的属性?

.net c# wcf .net-4.0 wcf-rest

3
推荐指数
1
解决办法
7026
查看次数

标签 统计

c# ×2

.net ×1

.net-4.0 ×1

vb.net ×1

wcf ×1

wcf-rest ×1

xpath ×1