xpath中/与//的区别

/表示指定路径下的所有符合条件的节点,//表示指定路径下匹配模式的所有节点。这样说很难区分,举例:

(1) ./parameter:表示本节点下(不包括子节点)下所有的parameter节点集

(2) .//parameter: 表示本节点及其所有子节点下的parameter节点集(包括子节点、孙节点、子子孙孙都包括)

<interactionClass name="Viechle_Move" sharing="PublishSubscribe" transportation="HLAreliable" order="TimeStamp" semantics="GX01">
  <parameter name="federate_type" dataType="string"/>

  <interactionClass name="Engage_Event" sharing="PublishSubscribe" transportation="HLAreliable" order="TimeStamp">
    <parameter name="action_instance_handle" dataType="long"/>
    <parameter name="target_instance_handle" dataType="long"/>
    <parameter name="position_x" dataType="double"/>
    <parameter name="position_y" dataType="double"/>
    <parameter name="position_z" dataType="double"/>

  </interactionClass>

</interactionClass>

假定当前节点为"Viechle_Move",对于(1),则只包括"federate_type"一个parameter结点,而对于(2)则包括了本节点的一个parameter和子节点Engage_Event下的5个parameter节点

原文地址:https://www.cnblogs.com/myboat/p/13953114.html