我正在研究这个项目,有人想出了一个XML结构。我很确定,这不是XML应该使用的方式,但我也知道,这是一个非常透视的问题。
有问题的序列是
<TestDetailsProperties>
<Property Type="String" Name="TestDetails_String1" ValueChar="TestDetails - AdditionalText1"/>
<Property Type="Decimal" Name="TestDetails_Decimal1" ValueNum="1.23"/>
<Property Type="Time" Name="TestDetails_Time2" ValueTime="10:11:12"/>
<Property Type="Date" Name="TestDetails_Date2" ValueDate="2000-01-01"/>
<Property Type="Integer" Name="TestDetails_Integer2" ValueInt="234"/>
<Property Type="String" Name="TestDetails_String2" ValueChar="TestDetails - ZusatzText2"/>
<Property Type="Decimal" Name="TestDetails_Decimal2" ValueNum="4.33"/>
<Property Type="DateTime" Name="TestDetails_DateTime1" ValueDateTime="2000-01-03T01:01:01"/>
<Property Type="Integer" Name="TestDetails_Integer1" ValueInt="42"/>
<Property Type="Date" Name="TestDetails_Date1" ValueDate="2000-01-02"/>
<Property Type="Time" Name="TestDetails_Time1" ValueTime="10:30:12"/>
<Property Type="DateTime" Name="TestDetails_DateTime2" ValueDateTime="2000-01-12T20:34:12"/>
</TestDetailsProperties>
我的问题是,为什么不以这种方式这样做的技术原因是什么。是否有合理的论据可以预期会出现什么问题?
我知道,这可能不是一个很好的stackoverflow问题,但我搜索了这个问题,我能找到的一切只是说它很糟糕,你不应该这样做,但不是确切原因。我找不到另一个地方可以转向,如果你对更好的地方有任何建议,我会很乐意提出这个问题。
目的是存储有关自动化测试的数据,这是存储测试详细信息的部分。
我感觉我错过了什么,但我不知道是什么。
答案 0 :(得分:0)
可能会有一些改进:
Name
之前Type
。Name
始终以TestDetails_
开头,并且可以从父节点读取此前缀,则可以删除前缀。Value
属性,而不是每个不同类型的不同属性名称。这将大大简化解析XML的逻辑除此之外,它看起来很好,并且可以用任何C#/ Java / Python / Ruby库解析几行。