0

我在使用 Xpath 读取 Visio xml 文件 (.vdx) 时遇到问题。我通过将两个子形状分组来创建自定义模板。例如,形状 A 由两个子形状 b 和 c 组成。当我创建 A 的两个实例时,例如 A1(由 b1 和 c1 组成)和 A2(由 b2 和 c2 组成)。XML 中的连接标记不显示 A1 和 B1 的关系。相反,它只显示 b1 和 b2 已连接。

请看下面的 xml,图片 A1 的形状 id 为 1(子形状 id 为 3、4),A2 为 2(子形状 id 为 5、6)

<Shpaes>
   <Shape ID ="1" Name="ShapeA1" Type="Group" Master="12"> 
     <Shapes>
        <Shape ID ="3" Type="Group" Master="12">
        <Shape ID ="4" Type="Group" Master="12">         
     </Shapes>
   </Shape>

   <Shape ID ="2" Name="ShapeA2" Type="Group" Master="12"> 
     <Shapes>
        <Shape ID ="5" Type="Group" Master="12">
        <Shape ID ="6" Type="Group" Master="12">         
     </Shapes>
   </Shape>

  <Shape ID ="7" Name="Connector" Type="Group" Master="12"> 
  </Shape>
</Shapes> 

<Connects>
 <Connect ToPart="3" ToCell="PinX" ToSheet="3" FromPart="12" FromCell="BeginX"     FromSheet="7"/>
 <Connect ToPart="3" ToCell="PinX" ToSheet="5" FromPart="12" FromCell="EndX" FromSheet="7"/>
</Connects>

我希望 Connect 中的 ToSheet 属性是“1”和“2”,它们代表组形状 ID,而不是其子形状 ID。

请让我知道我应该在 Visio 中做什么

谢谢 !!

4

1 回答 1

0

当组形状是不提供几何图形的通用隐藏组时(当您选择子形状并简单地按 ctrl-G 时会得到什么),很容易无意中连接子形状而不是外部组形状。你的情况似乎就是这样。

问题通常是通用隐藏组形状的 SelectMode 始终设置为 1(首先选择组),这允许用户选择(或粘合到)组的子形状。将组的 SelectMode 设置为 0(仅选择组)可以解决此问题。SelectMode 可以直接在 shapesheet 窗口或“行为”对话框中更改(在 Visio 2010 及更高版本的“开发人员”选项卡中可用)。

于 2013-05-12T16:07:30.473 回答