如果问题标题不明确,请原谅我。我不知道该怎么形容这个。
我有一个这样的输入 XML:
<Header xmlns:ns0="https://somenamespace">
<Id>10</Id>
<BatchNumber>7</BatchNumber>
<LineItem>
<Id>13</Id>
<ItemNumber>17021</ItemNumber>
<SequenceNumber>1</SequenceNumber>
<JobId>JOB_ID_1</JobId>
</LineItem>
<LineItem>
<Id>14</Id>
<ItemNumber>17022</ItemNumber>
<SequenceNumber>2</SequenceNumber>
<JobId>JOB_ID_1</JobId>
</LineItem>
<LineItem>
<Id>15</Id>
<ItemNumber>17021</ItemNumber>
<SequenceNumber>1</SequenceNumber>
<JobId>JOB_ID_2</JobId>
</LineItem>
<LineItem>
<Id>16</Id>
<ItemNumber>17022</ItemNumber>
<SequenceNumber>2</SequenceNumber>
<JobId>JOB_ID_2</JobId>
</LineItem>
<LineItem>
<Id>17</Id>
<ItemNumber>17023</ItemNumber>
<SequenceNumber>3</SequenceNumber>
<JobId>JOB_ID_2</JobId>
</LineItem>
</Header>
我试图以一种<JobID>
向上移动并包含每个作业一次的方式来映射它,而不是针对每个行项目。所以预期的输出应该是这样的:
<Request xmlns:ns0="https://somenamespace">
<Job>
<JobID>JOB_ID_1</JobID>
<LineItem>
<Id>13</Id>
<ItemNumber>17021</ItemNumber>
<SequenceNumber>1</SequenceNumber>
</LineItem>
<LineItem>
<Id>14</Id>
<ItemNumber>17022</ItemNumber>
<SequenceNumber>2</SequenceNumber>
</LineItem>
</Job>
<Job>
<JobId>JOB_ID_2</JobId>
<LineItem>
<Id>15</Id>
<ItemNumber>17021</ItemNumber>
<SequenceNumber>1</SequenceNumber>
</LineItem>
<LineItem>
<Id>16</Id>
<ItemNumber>17022</ItemNumber>
<SequenceNumber>2</SequenceNumber>
</LineItem>
<LineItem>
<Id>17</Id>
<ItemNumber>17023</ItemNumber>
<SequenceNumber>3</SequenceNumber>
</LineItem>
</Job>
</Request>
我对可用的高级 functoids 相对不熟悉。这个怎么做?是否有任何 functoids 允许我们这样做?如果只能通过自定义代码来实现,那代码会去哪里呢?