【发布时间】:2011-01-27 11:04:33
【问题描述】:
问题来了:我的输入是 XML 文件,看起来像这样:
<BaseEntityClassInfo>
<item>
<key>BaseEntityClassInfo.SomeField</key>
<value>valueData1</value>
</item>
<item>
<key>BaseEntityClassInfo.AdditionalDataClass.SomeOtherField</key>
<value>valueData2</value>
</item>
<item>
<key>BaseEntityClassInfo.AdditionalDataClass.AnotherClassInfo.DisplayedText</key>
<value>valueData3</value>
</item>
...
...
</BaseEntityClassInfo>
<key> 元素以某种方式描述实体类字段和关系(用于我无权访问的其他应用程序),<value> 存储我需要的实际数据。
我的目标是以编程方式从这个 XML 生成一个类型化的数据集,然后可以用于创建报告。我想先从输入 XML 文件构建一些 XSD 模式,然后使用这个模式来生成数据集,但我不知道该怎么做。问题是我不希望所有数据都在一个表中,我需要几个具有基于 <key> 值的关系的表,所以我想我需要以某种方式从 XML <key> 数据推断关系结构。还有其他方法吗?我应该使用 XSLT、Linq2XML 还是其他东西?
那你怎么看?如何做到这一点,最好的方法是什么?
任何建议、想法、建议都会真正感激不尽!
任何人?下面的 cmets 中还有一些其他信息...
【问题讨论】:
-
您使用的是哪个版本的 .NET?
-
呃。为什么这篇文章的作者决定在 XML 中实现 Entity-Attribute-Value ? XML 的设计主要是为了消除这种混乱。
-
@Aaronaught 我同意,这很丑陋而且毫无意义,但不幸的是我得到了...
-
是否还有其他信息,例如列类型?还是它们都只是字符串?
-
@Aaronaught 据我所知只有字符串