特定のノードから XML をコピーし、残りのノードにプレフィックスを追加したいと考えています。親ノードを削除できません。助けてください:
ここに私のXMLがあります:
<?xml version="1.0" encoding="UTF-8"?>
<EdiSupplierInvoiceImportEnvelope>
<Image />
<Attachments />
<InvoiceData>
<EdiSupplierInvoice xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InvoiceType>ORDERS_BASED</InvoiceType>
<CompanyIdentifiers>
<EdiCompanyIdentifier>
<IdentifierType>OTHER</IdentifierType>
<IdentifierValue>BDT</IdentifierValue>
</EdiCompanyIdentifier>
</CompanyIdentifiers>
<InvoiceNumber>123</InvoiceNumber>
<InvoiceDate>2019-04-09</InvoiceDate>
<CurrencyCode>DKK</CurrencyCode>
<CurrencyRate>1</CurrencyRate>
<Gross>5776.15</Gross>
<Net>4620.92</Net>
<Tax>1155.23</Tax>
<Rounding>0</Rounding>
<OrderIdentifier>PO0066197</OrderIdentifier>
<SupplierIdentifiers>
<EdiSupplierIdentifier>
<IdentifierType>EAN_NUMBER</IdentifierType>
<IdentifierValue>EXT_14020136</IdentifierValue>
</EdiSupplierIdentifier>
</SupplierIdentifiers>
<Lines>
<EdiSupplierInvoiceLine>
<ItemNumber>273330</ItemNumber>
<ItemDescription>
</ItemDescription>
<Amount>3670.92</Amount>
<Quantity>11</Quantity>
<UnitPrice>333.72</UnitPrice>
<Unit>Krt</Unit>
</EdiSupplierInvoiceLine>
<EdiSupplierInvoiceLine>
<ItemNumber>111563</ItemNumber>
<ItemDescription>
</ItemDescription>
<Amount>950.00</Amount>
<Quantity>10</Quantity>
<UnitPrice>95.00</UnitPrice>
<Unit>krt</Unit>
</EdiSupplierInvoiceLine>
<EdiSupplierInvoiceLine>
<ItemNumber>113454</ItemNumber>
<ItemDescription>
</ItemDescription>
<Amount>0.00</Amount>
<Quantity>0</Quantity>
<UnitPrice>244.20</UnitPrice>
<Unit>krt</Unit>
</EdiSupplierInvoiceLine>
</Lines>
<CodingLines>
<EdiCodingLine>
<LineNumber>1</LineNumber>
<Dimensions />
</EdiCodingLine>
<EdiCodingLine>
<LineNumber>2</LineNumber>
<Dimensions />
</EdiCodingLine>
<EdiCodingLine>
<LineNumber>3</LineNumber>
<Dimensions />
</EdiCodingLine>
</CodingLines>
<PaymentDetails xsi:nil="true" />
<CustomField_Numeric1 xsi:nil="true" />
<CustomField_Numeric2 xsi:nil="true" />
<CustomField_Numeric3 xsi:nil="true" />
<CustomField_Numeric4 xsi:nil="true" />
<CustomField_Numeric5 xsi:nil="true" />
<CustomField_Text1 xsi:nil="true" />
<CustomField_Text2 xsi:nil="true" />
<CustomField_Text3 xsi:nil="true" />
<CustomField_Text4 xsi:nil="true" />
<CustomField_Text5 xsi:nil="true" />
<DocumentSource>ManualCreation</DocumentSource>
<CaptureUser xsi:nil="true" />
</EdiSupplierInvoice>
</InvoiceData>
</EdiSupplierInvoiceImportEnvelope>
XSLT は次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://schemas.datacontract.org/2004/07/Medius.PurchaseToPay.Integrations.DocumentImport">
<xsl:output indent="yes" />
<xsl:template match="*" >
<xsl:element name="di:{name()}" namespace="http://schemas.datacontract.org/2004/07/Medius.PurchaseToPay.Integrations.DocumentImport">
<xsl:copy-of select="namespace::EdiSupplierInvoice" />
<xsl:apply-templates />
</xsl:element>
</xsl:template>
<xsl:template match="EdiSupplierInvoiceImportEnvelope/InvoiceData">
<xsl:copy>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
予想された結果:
<di:EdiSupplierInvoice xmlns:di="http://schemas.datacontract.org/2004/07/Medius.PurchaseToPay.Integrations.DocumentImport">
<di:InvoiceType>ORDERS_BASED</di:InvoiceType>
<di:CompanyIdentifiers>
<di:EdiCompanyIdentifier>
<di:IdentifierType>OTHER</di:IdentifierType>
<di:IdentifierValue>BDT</di:IdentifierValue>
</di:EdiCompanyIdentifier>
</di:CompanyIdentifiers>
<di:InvoiceNumber>123</di:InvoiceNumber>
<di:InvoiceDate>2019-04-09</di:InvoiceDate>
<di:CurrencyCode>DKK</di:CurrencyCode>
<di:CurrencyRate>1</di:CurrencyRate>
<di:Gross>5776.15</di:Gross>
<di:Net>4620.92</di:Net>
<di:Tax>1155.23</di:Tax>
<di:Rounding>0</di:Rounding>
<di:OrderIdentifier>PO0066197</di:OrderIdentifier>
<di:SupplierIdentifiers>
<di:EdiSupplierIdentifier>
<di:IdentifierType>EAN_NUMBER</di:IdentifierType>
<di:IdentifierValue>EXT_14020136</di:IdentifierValue>
</di:EdiSupplierIdentifier>
</di:SupplierIdentifiers>
<di:Lines>
<di:EdiSupplierInvoiceLine>
<di:ItemNumber>273330</di:ItemNumber>
<di:ItemDescription>
</di:ItemDescription>
<di:Amount>3670.92</di:Amount>
<di:Quantity>11</di:Quantity>
<di:UnitPrice>333.72</di:UnitPrice>
<di:Unit>Krt</di:Unit>
</di:EdiSupplierInvoiceLine>
<di:EdiSupplierInvoiceLine>
<di:ItemNumber>111563</di:ItemNumber>
<di:ItemDescription>
</di:ItemDescription>
<di:Amount>950.00</di:Amount>
<di:Quantity>10</di:Quantity>
<di:UnitPrice>95.00</di:UnitPrice>
<di:Unit>krt</di:Unit>
</di:EdiSupplierInvoiceLine>
<di:EdiSupplierInvoiceLine>
<di:ItemNumber>113454</di:ItemNumber>
<di:ItemDescription>
</di:ItemDescription>
<di:Amount>0.00</di:Amount>
<di:Quantity>0</di:Quantity>
<di:UnitPrice>244.20</di:UnitPrice>
<di:Unit>krt</di:Unit>
</di:EdiSupplierInvoiceLine>
</di:Lines>
<di:CodingLines>
<di:EdiCodingLine>
<di:LineNumber>1</di:LineNumber>
<di:Dimensions />
</di:EdiCodingLine>
<di:EdiCodingLine>
<di:LineNumber>2</di:LineNumber>
<di:Dimensions />
</di:EdiCodingLine>
<di:EdiCodingLine>
<di:LineNumber>3</di:LineNumber>
<di:Dimensions />
</di:EdiCodingLine>
</di:CodingLines>
<di:PaymentDetails />
<di:CustomField_Numeric1 />
<di:CustomField_Numeric2 />
<di:CustomField_Numeric3 />
<di:CustomField_Numeric4 />
<di:CustomField_Numeric5 />
<di:CustomField_Text1 />
<di:CustomField_Text2 />
<di:CustomField_Text3 />
<di:CustomField_Text4 />
<di:CustomField_Text5 />
<di:DocumentSource>ManualCreation</di:DocumentSource>
<di:CaptureUser />
</di:EdiSupplierInvoice>
2 番目のテンプレートは、EdiSupplierInvoiceImportEnvelope/InvoiceData 子ノードと一致しません。私が望んでいたのではなく、常にすべてのノードで結果が得られます。