我被分配了一个新项目来使用 XSLT 样式表将一个 XML 文档转换为另一种 XML 格式。
在过去的四个小时里,我一直在搜索 StackOverflow 和其他在线网站上的档案,试图找出如何达到预期的结果,但我找不到任何正确的方向。
这是原始文档格式:
<?xml version="1.0"?>
<PODOrderSheet_Main>
<estimate>
<customer>LINFNC</customer>
<jobType>5020</jobType>
<JobParts>
<JobPart>
<jobPart>01</jobPart>
<contactNum/>
<JobNotes>
<JobNote>
<department>001</department>
<jobPart>01</jobPart>
<note><![CDATA[Rush Order]]></note>
</JobNote>
</JobNotes>
</JobPart>
</JobParts>
</estimate>
<estimate>
<customer>LINFNC</customer>
<jobType>5020</jobType>
<JobParts>
<JobPart>
<jobPart>01</jobPart>
<contactNum/>
<JobNotes>
<JobNote>
<department>001</department>
<jobPart>01</jobPart>
<note><![CDATA[Rush Order]]></note>
</JobNote>
</JobNotes>
</JobPart>
</JobParts>
</estimate>
<estimate>
<customer>LINFNC</customer>
<jobType>5020</jobType>
<JobParts>
<JobPart>
<jobPart>01</jobPart>
<contactNum/>
<JobNotes>
<JobNote>
<department>001</department>
<jobPart>01</jobPart>
<note><![CDATA[Rush Order]]></note>
</JobNote>
</JobNotes>
</JobPart>
</JobParts>
</estimate>
</PODOrderSheet_Main>
这是它需要的外观:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE estimate>
<estimate>
<customer>LINFNC</customer>
<jobType>5020</jobType>
<JobParts>
<JobPart>
<jobPart>01</jobPart>
<contactNum/>
<JobNotes>
<JobNote>
<department>001</department>
<jobPart>01</jobPart>
<note><![CDATA[Rush Order]]></note>
</JobNote>
</JobNotes>
</JobPart>
<JobPart>
<jobPart>02</jobPart>
<contactNum/>
<JobNotes>
<JobNote>
<department>001</department>
<jobPart>02</jobPart>
<note><![CDATA[Rush Order]]></note>
</JobNote>
</JobNotes>
</JobPart>
<JobPart>
<jobPart>03</jobPart>
<contactNum/>
<JobNotes>
<JobNote>
<department>001</department>
<jobPart>03</jobPart>
<note><![CDATA[Rush Order]]></note>
</JobNote>
</JobNotes>
</JobPart>
</JobParts>
</estimate>
我能够毫无问题地复制所有元素。我遇到困难的地方是我只需要customer
andjobType
元素的第一次出现,但是JobParts
多个estimate
块中包含的所有内容,按照它们在jobPart
元素中的顺序正确编号。
如果有人能在这个项目上为我指明正确的方向,我将不胜感激,因为我自己没有任何进展。