小编Rya*_*ubi的帖子

找到两个元素之间的相对XPath的最有效方法是什么?

看过使用XML/XPath的各种流行模块后,我还没有看到实现这一目标的直接方法.

从本质上讲,界面看起来像:

my $xpath = get_path($node1, $node2);
Run Code Online (Sandbox Code Playgroud)

...它将返回从$ node1到$ node2的相对路径.

我将自己的时间用于计算"效率" - 我将采用任何现有的解决方案来解决这个问题.如果不这样做,我想知道在任何"明显的"本土解决方案中可能遇到的一些陷阱.

在我的脑海中,我可以想象只是首先在$ node1的后代中搜索$ node2,然后失败,迭代$ node1的祖先做同样的事情.这会像我担心的那样是资源密集型的吗?

对于我的特定用例,我可以假设$ node1和$ node2的绝对路径都是已知的.考虑到这一点,我想认为可以在两个完整路径之间完成一些"XPath数学",而不必遍布整个树,但我不知道那个过程会是什么样子.

总结一下:

1)现有的CPAN模块是否能让我想做的事情变得简单?

2)如果没有,那么有效的方法是什么?

xml perl xpath dom

6
推荐指数
1
解决办法
1546
查看次数

状态机:确定下一个状态的多个条件?

长话短说:

\n\n

状态机框架应该在哪里/如何确定下一个状态应该是什么什么?或者,这实际上超出了状态机的范围,状态机实际上仅用于跟踪当前状态并验证是否允许请求的转换?

\n\n
\n\n

背景和细节:

\n\n

考虑一个简单的杂志文章发布工作流程。下图显示了对该过程的基本概念理解,我们希望将其转换为代码(在本例中使用Stateless)。它涵盖了出版的基本“快乐之路”,以及一些可能的问题:

\n\n
\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\n\xe2\x94\x82 W \xe2\x94\x82    \xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90                         \xe2\x94\x82\n\xe2\x94\x82 r \xe2\x94\x82    \xe2\x94\x82           \xe2\x94\x82                         \xe2\x94\x82\n\xe2\x94\x82 i \xe2\x94\x82    \xe2\x94\x82   Write   \xe2\x97\x84\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90                \xe2\x94\x82\n\xe2\x94\x82 t \xe2\x94\x82    \xe2\x94\x82           \xe2\x94\x82        \xe2\x94\x82                \xe2\x94\x82\n\xe2\x94\x82 e \xe2\x94\x82    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x98        \xe2\x94\x82                \xe2\x94\x82\n\xe2\x94\x82 r \xe2\x94\x82          \xe2\x94\x82              \xe2\x94\x82                \xe2\x94\x82\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Submit\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x82\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xa4\n\xe2\x94\x82   \xe2\x94\x82          \xe2\x94\x82              \xe2\x94\x82                \xe2\x94\x82\n\xe2\x94\x82   \xe2\x94\x82    \xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x96\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90        \xe2\x94\x82                \xe2\x94\x82\n\xe2\x94\x82   \xe2\x94\x82    \xe2\x94\x82           \xe2\x94\x82        \xe2\x94\x82                \xe2\x94\x82\n\xe2\x94\x82   \xe2\x94\x82    \xe2\x94\x82  Review   \xe2\x97\x84\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x82\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90     \xe2\x94\x82\n\xe2\x94\x82   \xe2\x94\x82    \xe2\x94\x82           \xe2\x94\x82      \xe2\x94\x82 \xe2\x94\x82          \xe2\x94\x82     \xe2\x94\x82\n\xe2\x94\x82   \xe2\x94\x82    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x98      \xe2\x94\x82 \xe2\x94\x82          \xe2\x94\x82     \xe2\x94\x82\n\xe2\x94\x82   \xe2\x94\x82          \xe2\x94\x82 …
Run Code Online (Sandbox Code Playgroud)

c# state-machine stateless-state-machine

5
推荐指数
1
解决办法
2305
查看次数

标签 统计

c# ×1

dom ×1

perl ×1

state-machine ×1

stateless-state-machine ×1

xml ×1

xpath ×1