0

ソースからxmlファイルを取得する単純なプロジェクトを実行しています(これは「ダイアグラム」と呼ばれるアプリケーション内のフォルダーです)。そのため、アプリケーションを起動するときにボタンがあります。ボタンをクリックすると、ソースの「図」フォルダが表示されます。ダイアグラムフォルダには、xmlファイルがあります。それらのいずれかを選択すると、xmlファイルが解析され、xmlファイルからリストビューが作成されます。そして、ツリー構造のようにリストビューをナビゲートできるようになります。これがサンプルのxmlファイルです。だからこれはこのように見えるはずです

<Prototypes>
<Node>
  <Type>Class</Type>
  <ShapeType>Rectangle</ShapeType>
  <Properties>
    <Property>
      <Type>attributes</Type>
      <View Position="Inside" ShapeType="Transparent"/>
      <Modifiers>
        <Modifier id="0">
          <Type>static</Type>
          <View Bold="false" Italic="true" Prefix="" Suffix="" Underline="false"/>
        </Modifier>
        <Modifier id="1">
          <Type>protected</Type>
          <View Bold="false" Italic="false" Prefix="#" Suffix="" Underline="false"/>
        </Modifier>
        <Modifier id="2">
          <Type>private</Type>
          <View Bold="false" Italic="false" Prefix="-" Suffix="" Underline="false"/>
        </Modifier>
      </Modifiers>
    </Property>
    <Property>
      <Type>operations</Type>
      <View Position="Inside" ShapeType="Transparent"/>
      <Modifiers>
        <Modifier id="0">
          <Type>static</Type>
          <View Bold="false" Italic="true" Prefix="" Suffix="" Underline="false"/>
        </Modifier>
        <Modifier id="1">
          <Type>protected</Type>
          <View Bold="false" Italic="false" Prefix="#" Suffix="" Underline="false"/>
        </Modifier>
        <Modifier id="2">
          <Type>private</Type>
          <View Bold="false" Italic="false" Prefix="-" Suffix="" Underline="false"/>
        </Modifier>
      </Modifiers>
    </Property>
  </Properties>
</Node>
<Edge>
  <Type>Association</Type>
  <LineStyle>Solid</LineStyle>
  <MinAttachedNodes>2</MinAttachedNodes>
  <MaxAttachedNodes>2</MaxAttachedNodes>
  <Heads>
    <Head Head="Tail" headLabel="from"/>
    <Head Head="V" headLabel="to"/>
  </Heads>
</Edge>
<Edge>
  <Type>Generalization</Type>
  <LineStyle>Dashed</LineStyle>
  <MinAttachedNodes>2</MinAttachedNodes>
  <MaxAttachedNodes>2</MaxAttachedNodes>
  <Heads>
    <Head Head="Tail" headLabel="sub class"/>
    <Head Head="Triangle" headLabel="super class"/>
  </Heads>
</Edge>
</Prototypes> 
<Components>
<Nodes>
  <Node Name="Company" Type="Class" id="1">
    <Position x="129.0" y="52.0"/>
    <Properties>
      <Property>
        <Type>attributes</Type>
        <Element>
          <Value>budget</Value>
        </Element>
        <Element>
          <Value>name</Value>
        </Element>
      </Property>
      <Property>
        <Type>operations</Type>
        <Element>
          <Value>Company</Value>
        </Element>
        <Element>
          <Value>getDriverQualification</Value>
        </Element>
      </Property>
    </Properties>
  </Node>
  <Node Name="Driver" Type="Class" id="2">
    <Position x="135.0" y="304.0"/>
    <Properties>
      <Property>
        <Type>attributes</Type>
        <Element>
          <Value>name</Value>
        </Element>
      </Property>
      <Property>
        <Type>operations</Type>
        <Element>
          <Value>getQualification</Value>
        </Element>
      </Property>
    </Properties>
  </Node>
  <Node Name="Vehicle" Type="Class" id="3">
    <Position x="477.0" y="301.0"/>
    <Properties>
      <Property>
        <Type>attributes</Type>
        <Element>
          <Value>registration</Value>
        </Element>
      </Property>
      <Property>
        <Type>operations</Type>
        <Element>
          <Value>Vehicle</Value>
        </Element>
        <Element>
          <Value>getRegistration</Value>
        </Element>
      </Property>
    </Properties>
  </Node>
  <Node Name="Van" Type="Class" id="4">
    <Position x="381.0" y="519.0"/>
    <Properties>
      <Property>
        <Type>attributes</Type>
        <Element>
          <Value>size</Value>
        </Element>
      </Property>
      <Property>
        <Type>operations</Type>
        <Element>
          <Value>Van</Value>
        </Element>
      </Property>
    </Properties>
  </Node>
  <Node Name="Car" Type="Class" id="5">
    <Position x="641.0" y="512.0"/>
    <Properties>
      <Property>
        <Type>attributes</Type>
        <Element>
          <Value>fuelType</Value>
        </Element>
      </Property>
      <Property>
        <Type>operations</Type>
        <Element>
          <Value>Car</Value>
        </Element>
      </Property>
    </Properties>
  </Node>
</Nodes>
<Edges>
  <Edge Name="employs" Type="Association" id="1">
    <Nodes>
      <Node Head="" Label="1" id="1"/>
      <Node Head="V" Label="*" id="2"/>
    </Nodes>
  </Edge>
  <Edge Name="hires" Type="Association" id="2">
    <Nodes>
      <Node Head="" Label="1" id="1"/>
      <Node Head="" Label="*" id="3"/>
    </Nodes>
    <Points>
      <Point id="-1">
        <Position x="524.5" y="83.5"/>
        <Neighbours>1 3</Neighbours>
      </Point>
    </Points>
  </Edge>
  <Edge Name="drives" Type="Association" id="3">
    <Nodes>
      <Node Head="V" Label="*" id="3"/>
      <Node Head="" Label="1" id="2"/>
    </Nodes>
  </Edge>
  <Edge Name="G1" Type="Generalization" id="4">
    <Nodes>
      <Node Head="" Label="" id="4"/>
      <Node Head="Triangle" Label="" id="3"/>
    </Nodes>
  </Edge>
  <Edge Name="G2" Type="Generalization" id="5">
    <Nodes>
      <Node Head="Triangle" Label="" id="3"/>
      <Node Head="" Label="" id="5"/>
    </Nodes>
  </Edge>
</Edges>
</Components>

結果は次のようにリストビューに表示されます。(これは結果の一部です。すべての出力を定義していません)

•   Class
       ➢    Company
           o    Association
                   •    To Vehicle via hires
                   •    To Driver via  employs
           o    Attributes
                   •    budget
                   •    name
           o    operations
                   •    Company
                   •    getDriverQualification
       ➢    Driver
       ➢    Vehicle
       ➢    Van
       ➢    Car
•   Association
•   Generalization

私はあなたの提案を探します。すべての提案を歓迎します。私はここで正確なコードを実際に探しているわけではありません:)これをコーディングしますが、始める前に、xmlファイルをリストビューに解析するための最良の方法を見つけようとしています。

ありがとう

4

0 に答える 0