0

我正在研究一种用于计时数据的架构,我正在考虑将XML其用于此目的。数据格式如下:

operation start: name, type
operation end: timing data

数据可以嵌套。XML在某些方面自然适合这个,但是虽然我可以将开始数据存储在开始标签中,但看起来我不能对结束标签做同样的事情。或者我可以吗?

感谢您的时间。

编辑:
抱歉耽搁了,很难用移动应用程序输入这些数据......数据看起来像这样:

操作:开始:获取
操作:开始:计算
操作:结束:计算计时数据
操作:开始:回调
操作:结束:回调计时数据
操作:结束:获取计时数据

4

2 回答 2

1

考虑使用以下内容:

<operation>
    <start>
        <name>value</name>
        <type>value</type>
    </start>
    <end>
        <timingData>value</timingData>
    </end>
</operation>
于 2012-12-24T20:14:05.113 回答
0

我将使用以下之一作为基本结构:

<operation name="" type="">
     <!--Nested Operations -->
     <timing starttime="" endtime=""/>
</operation>

或者

<operation name="" type="">
     <operations>
         <!--Nested Operations -->
     </operations>
     <timing starttime="" endtime=""/>
</operation>

我更喜欢第一个,但 XML 数据结构往往有多个标签来表示相同标签的列表。取决于您的需求/偏好。

然后您的嵌套结构可能如下所示:

<operation name="" type="">
    <operation name="" type="">
    <!--Nested Operations -->
        <timing starttime="" endtime=""/>
    </operation>
    <operation name="" type="">
    <!--Nested Operations -->
        <timing starttime="" endtime=""/>
    </operation>
    <timing starttime="" endtime=""/>
</operation>

或者,使用复数标记约定:

<operation name="" type="">
    <operations>
        <operation name="" type="">
            <operations>
                <!--Nested Operations -->
            </operations>
            <timing starttime="" endtime=""/>
        </operation>
        <operation name="" type="">
            <operations>
                <!--Nested Operations -->
            </operations>
            <timing starttime="" endtime=""/>
        </operation>
        <operation name="" type="">
            <operations>
                <!--Nested Operations -->
            </operations>
            <timing starttime="" endtime=""/>
        </operation>
    </operations>
    <timing starttime="" endtime=""/>
</operation>

无论哪种方式,这只是一种方式,对于每个操作,使用填充了一些信息的开始块和结束块。

就个人而言,我认为其中任何一个都非常清楚。或者更确切地说,像 XML 一样清晰。但归根结底,您的用例(人类与计算机读取、转换、索引和报告需求)将决定您的数据结构。

于 2012-12-24T20:36:54.883 回答