我有一个相当复杂的 XML 结构,但在一小部分中,我有一个以下结构中的输入/输出时间列表以及它可能包含的潜在数据:
<EventSummary>
<Name>In/Out times</Name>
<Entries>
<Entry>
<Name>In</Name>
<Time>4/1/2013 10:45</Time>
<Value>1</Value>
</Entry>
<Entry>
<Name>In</Name>
<Time>4/1/2013 10:55</Time>
<Value>1</Value>
</Entry>
<Entry>
<Name>Out</Name>
<Time>4/1/2013 11:30</Time>
<Value>0</Value>
</Entry>
<Entry>
<Name>In</Name>
<Time>4/1/2013 11:35</Time>
<Value>1</Value>
</Entry>
</Entries>
</EventSummary>
所以这些条目保证是按时间顺序排列的,但我需要协调一个 In 时间和下一个 Out 时间。因此,在上面的示例中,请注意我们有一个 In 时间,然后是另一个 In tim,然后是 Out 时间,然后是 In 时间。我需要最终产品的样子,在这种情况下是这样的:
<Table>
<Row>
<Cell>
<Text>4/1/2013 10:45</Text>
</Cell>
<Cell>
<Text>4/1/2013 11:30</Text>
</Cell>
</Row>
<Row>
<Cell>
<Text>4/1/2013 11:35</Text>
</Cell>
</Row>
</Table>
基本上我需要为每个输入/输出对设置一行。所以我需要找到第一个 In,然后跳过所有下一个 In,直到第一个 Out,然后如果在 Out 之后找到另一个 In,则开始一个新行......等等。
我只是不知道如何在循环访问条目时从寻找 In 或 Out 切换。有任何想法吗?