我有一个来自Lotus Notes DB的XML输出。以下是XML结构:展平XML以通过SSIS包加载
<Exec>
<project id='C000253' type='Approved' >
<DaysInOnHold>39</DaysInOnHold>
<DaysInCompleted>0</DaysInCompleted>
<ProjectComplexity type='1280'>Complex</ProjectComplexity>
<ChangeRequest>
<OnGoingAmt type='768'>-112</OnGoingAmt>
<EAmt type='768'>123</EAmt>
</ChangeRequest>
<ChangeRequest>
<ItemNbr type='768'>2</ItemNbr>
<EAmt type='768'>321</EAmt>
</ChangeRequest>
<IncidentalItem>
<ACost type='768'>0</ACost>
<Billable type='1280'>Billable</Billable>
</IncidentalItem>
<IncidentalItem>
<ACost type='768'>33</ACost>
<Billable type='1280'>Billable</Billable>
</IncidentalItem>
<MaterialItem>
<AQty type='768'>1</AQty>
<ItemNbr type='768'>4</ItemNbr>
</MaterialItem>
<MaterialItem>
<AQty type='768'>0</AQty>
<ItemNbr type='768'>5</ItemNbr>
</MaterialItem>
</project>
<project id='C110011' type='Not Approved'>
...
...
</project>
</Exec>
当我加载我的SSIS包的XML源,它每列名的,当然这不是非常理想创建一个表。
我想以这样的方式来改变这一点,它给了我有一个项目表的能力,MaterialItem和ChangeRequest表(其随后将相关返回单个项目条目。
将XSLT是如果是这样,任何帮助将不胜感激
我想我会添加什么样的期望的输出应该是(似乎所有的类型属性导致的问题)所以,似乎我需要一个变换将摆脱所有的属性 - 具体是类型=“...”
<Exec>
<project id='C0001111'>
<DaysInOnHold>33</DaysInOnHold>
<DaysInCompleted>0</DaysInCompleted>
<ProjectComplexity>Complex</ProjectComplexity>
<ChangeRequest>
<OnGoingAmt>52</OnGoingAmt>
<EAmt>123</EAmt>
</ChangeRequest>
<ChangeRequest>
<ItemNbr>2</ItemNbr>
<EAmt>321</EAmt>
</ChangeRequest>
<IncidentalItem>
<ACost>0</ACost>
<Billable>Not Billable</Billable>
</IncidentalItem>
<IncidentalItem>
<ACost>33</ACost>
<Billable>Billable</Billable>
</IncidentalItem>
<MaterialItem>
<AQty>1</AQty>
<ItemNbr>4</ItemNbr>
</MaterialItem>
<MaterialItem>
<AQty>0</AQty>
<ItemNbr>5</ItemNbr>
</MaterialItem>
</project>
</Exec>
XSLT确实可能的答案在这里,如果你想将XML转换成不同的结构。但首先你需要知道你需要什么样的结构。如果您已经知道需要转换的内容,您可以编辑您的问题以显示您期望输出的XML样本吗?谢谢! –