0

如果问题标题不明确,请原谅我。我不知道该怎么形容这个。

我有一个这样的输入 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 允许我们这样做?如果只能通过自定义代码来实现,那代码会去哪里呢?

4

0 回答 0