-2

我有一个加载到 XMLDocument 对象中的 XML 文件。XML 文件有许多 <tour> 节点。我想在 Windows 窗体上显示 < tour > 节点的内容,并能够通过导航控件在 < tour > 节点中导航。我怎样才能做到这一点?

我希望显示信息的表单类似于:

形式

以下是 XML 文件的示例:

<?xml version="1.0" ?>
<tours>
   <tour>
      <description>
      <![CDATA[
<p><i>Travel Scotland!</i> goes south to England blah blah...</p>
  ]]>
  </description>
  <tour_name>The Lake District</tour_name>
  <tour_photo>Lake.jpg</tour_photo>
  <tour_guide>Mary Taylor</tour_guide>
  <td_email>mailto:mtaylor@tscotland.com</td_email>
  <tour_start>6/15/2003</tour_start>
  <tour_end>6/19/2003</tour_end>
  <itinerary>
     <day>
        <day_number>1</day_number>
        <plan>London arrival</plan>
     </day>
     <day>
        <day_number>2</day_number>
        <plan>Train to Windemere</plan>
     </day>
     <day>
        <day_number>3</day_number>
        <plan>Second day in Windemere</plan>
     </day>
     <day>
        <day_number>4</day_number>
        <plan>Trip to Ambleside</plan>
     </day>
     <day>
        <day_number>5</day_number>
        <plan>Hiking tour to Grasmere</plan>
     </day>
  </itinerary>   
</tour>
<tour> ANOTHER TOUR ETC.
4

1 回答 1

0

我不知道有关 XMLDocument 对象的细节,但在伪代码术语中,您需要这样做:

遍历您的<tour>节点,并将信息加载到自定义结构的数组中。例如

    struct tour{
        String description;
        String tourname;
        String tourimagelink;
        ...
    }

然后,您需要遍历数组的每个元素,为每个条目创建 Windows 窗体控件(最好在停靠面板等内,以便您可以滚动)。对于您的 y 轴偏移量,您需要计算出信息块的高度。如果使用 for 循环遍历元素,这样的公式可能会有所帮助:

    y = (i*blockHeight) + offsetOfControl;

我希望这在某些方面有所帮助。

编辑:更好的是 - 您可以使用一个公开所有 Windows 窗体控件的类,而不是使用结构,以便您可以将它们附加到主窗体。

于 2012-12-11T21:42:14.500 回答