我有一个描述标题和列表的 XML 文件。我需要生成一个 CSV 文件,其中文件的第一行是从标题信息构造的,文件的后续行是从列表构造的。标题与列表项的列数不同。
使用 xsl 很容易做到这一点。如何使用 .NET 映射引擎对数据映射器进行操作?
一个简单的例子来解释。输入 xml 的 XSD
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element name="A" />
<xs:element name="B" />
<xs:element name="Line" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="C" />
<xs:element name="D" />
<xs:element name="E" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
输入 XML 示例
<Root>
<A>Header Value</A>
<B>112233</B>
<Line>
<C>22</C>
<D>Fred</D>
<E>1</E>
</Line>
<Line>
<C>34</C>
<D>Jim</D>
<E>2</E>
</Line>
<Line>
<C>42</C>
<D>Amanda</D>
<E>1</E>
</Line>
<Line>
<C>1267</C>
<D>Vickie</D>
<E>2</E>
</Line>
</Root>
所需的文本输出:
Header Value|112233
22|Fred|1
34|Jim|2
42|Amanda|1
1267|Vickie|2
生成任一
Header Value|112233
或者
22|Fred|1
34|Jim|2
42|Amanda|1
1267|Vickie|2
由于单个 csv 文件很容易(应该如此),但是除了求助于 xslt 之外,我怎么看不到如何生成所需的文件。