如何找到最匹配的节点 [英] How to find closest matches nodes

查看:164
本文介绍了如何找到最匹配的节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好

我对在xml文件中显示最接近的匹配项的逻辑感到困惑.

Scneraio:

我接受了用户的一些值,并使用xpath检查这些值在任何xml节点中是否匹配.如果节点是数学则很好,如果不匹配,则需要根据每个节点的匹配parid显示close mathces.

这是我的xml代码,该代码具有数百个bod1,body2节点.用户输入一组可以对body1节点中的任何一个进行数学计算的值.如果没有匹配项,那么我需要显示最接近匹配项的body1,bode2.

< Head>
< body1>
< node1> 1</node1>
< node2> 4</node2>
< node3> 3</node3>
< node4> 0</node4>
< node5> 1,2,3,4,5,6,7,12</node5>
< node6> 1,2,3,4</node6>
< node7> 2</node7>
< node8></node8>
< node9></node9>
< node10> 1,2,3,4</node10>
</body1>
< body2>
< node1> 2</node1>
< node2> 1</node2>
< node3> 2</node3>
< node4> 0</node4>
< node5> 4,5,6,7,12</node5>
< node6> 1,2,3,4</node6>
< node7> 2</node7>
< node8></node8>
< node9></node9>
< node10> 1,2,3,4</node10>
</body2>
< body3>
< node1> 1</node1>
< node2> 4</node2>
< node3> 3</node3>
< node4> 0</node4>
< node5> 1,2,3,4,5,6,7,12</node5>
< node6> 1,2,3,4</node6>
< node7> 2</node7>
< node8></node8>
< node9></node9>
< node10> 1,2,3,4</node10>
</body3>
< body4>
< node1> 2</node1>
< node2> 1</node2>
< node3> 2</node3>
< node4> 0</node4>
< node5> 4,5,6,7,12</node5>
< node6> 1,2,3,4</node6>
< node7> 2</node7>
< node8></node8>
< node9></node9>
< node10> 1,2,3,4</node10>
</body4>
</head>


请给我建议.


预先感谢

Hi All

I have trouble with the logic that shows closest matches in xml file.

Scneraio:

I am accepts some values from the user and checking those values are matching in any xml nodes using xpath. If the node is math then fine, if not match we need to shows closes mathces based on matching parid of each node.

Here is my xml code, the code having hundresd of bod1, body2 nodes. User enter set of values that mathces any one of the body1 node. If there is no match then I need to shows body1, bode2 that are closest matches.

<Head>
<body1>
<node1>1</node1>
<node2>4</node2>
<node3>3</node3>
<node4>0</node4>
<node5>1,2,3,4,5,6,7,12</node5>
<node6>1,2,3,4</node6>
<node7>2</node7>
<node8></node8>
<node9></node9>
<node10>1,2,3,4</node10>
</body1>
<body2>
<node1>2</node1>
<node2>1</node2>
<node3>2</node3>
<node4>0</node4>
<node5>4,5,6,7,12</node5>
<node6>1,2,3,4</node6>
<node7>2</node7>
<node8></node8>
<node9></node9>
<node10>1,2,3,4</node10>
</body2>
<body3>
<node1>1</node1>
<node2>4</node2>
<node3>3</node3>
<node4>0</node4>
<node5>1,2,3,4,5,6,7,12</node5>
<node6>1,2,3,4</node6>
<node7>2</node7>
<node8></node8>
<node9></node9>
<node10>1,2,3,4</node10>
</body3>
<body4>
<node1>2</node1>
<node2>1</node2>
<node3>2</node3>
<node4>0</node4>
<node5>4,5,6,7,12</node5>
<node6>1,2,3,4</node6>
<node7>2</node7>
<node8></node8>
<node9></node9>
<node10>1,2,3,4</node10>
</body4>
</head>


Please suggest me.


Thanks in advance

推荐答案

您必须定义(由您自己决定)两组节点之间的差异的度量.然后,您必须最小化这种措施.
:)
You have to define (is up to you) a measure of the difference between two sets of nodes. Then you have to minimize such a measure.
:)


这篇关于如何找到最匹配的节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆