Я пытаюсь объединить 2-3 xml-файла в один файл для обработки моей системы. Я просмотрел несколько других сообщений и пришел к коду, который, как я думал, будет работать с использованием документа, но, похоже, он не делает желаемого эффекта. Я настоящий послушник, поэтому помощь в этом действительно ценится. Моя схема Код:Использование XSL для объединения файлов mutliple xml
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/OrderRequest">
<xsl:copy>
<xsl:apply-templates select="OrderRequest"/>
<xsl:apply-templates select="document('2.xml')/*/OrderRequest"/>
<xsl:apply-templates select="document('3.xml')/*/OrderRequest"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
Вот пример структуры моего файла XML. Много данных, но все данные мне нужно под OrderRequest
<cXML xml:lang="en-US" payloadID="2015-11-06Orders" timestamp="2015-11-06T13:30:11-05:00">
<Header>
<From>
<Credential domain="NetworkId">
<Identity>Order Admin</Identity>
</Credential>
</From>
<To>
<Credential domain="NetworkId">
<Identity>fulfillment</Identity>
</Credential>
</To>
<Sender><Credential domain="NetworkId"><Identity>admin group</Identity><SharedSecret>hidden</SharedSecret>
</Credential>
<UserAgent>Procurement Sys</UserAgent>
</Sender>
</Header>
<Request>
<OrderRequest>
<OrderRequestHeader orderID="PO12345" orderDate="2015-11-05T13:30:44-05:00" requisitionID="">
<Total><Money currency="USD">34.00</Money>
</Total>
<Shipping>
<Money currency="USD">0.00</Money>
<Description xml:lang="en-US">Next day</Description>
</Shipping>
<Contact>
<Name xml:lang="en">Smith, Bob A.</Name>
<Phone name="default">
<TelephoneNumber>
<CountryCode isoCountryCode="US">1</CountryCode>
<AreaOrCityCode>413</AreaOrCityCode>
<Number>5551234</Number>
<Extension></Extension>
</TelephoneNumber>
</Phone>
</Contact>
</OrderRequestHeader>
<ItemOut quantity="2" lineNumber="1">
<ItemID>
<SupplierPartID>TEX TI30XIIS</SupplierPartID>
</ItemID>
<ItemDetail>
<UnitPrice>
<Money currency="USD">17.00</Money></UnitPrice>
<Description xml:lang="en">Scientific Calculator, Dual Power,2Line, 3-1/5"x6-1/10"x3/4"</Description>
<UnitOfMeasure>EA</UnitOfMeasure>
<Classification domain="UNSPSC">44120000</Classification>
</ItemDetail>
<ShipTo>
<Address isoCountryCode="US" addressID="0001">
<Name xml:lang="en">Sample Location</Name>
<PostalAddress name="default">
<DeliverTo>Smith, Bob</DeliverTo>
<DeliverTo>AR Dept.</DeliverTo>
<Street>Sample Business</Street>
<Street>101 Main St.</Street>
<City>Great Barrington</City>
<State>MA</State>
<PostalCode></PostalCode>
<Country isoCountryCode="US">United States</Country>
</PostalAddress>
<Email name="default"></Email>
<Phone name="default">
<TelephoneNumber>
<CountryCode isoCountryCode="US">1</CountryCode>
<AreaOrCityCode></AreaOrCityCode>
<Number></Number>
<Extension></Extension>
</TelephoneNumber>
</Phone>
</Address>
</ShipTo>
<Distribution>
<Accounting name="General"></Accounting>
<Charge>
<Money currency="USD">34.00</Money>
</Charge>
</Distribution>
</ItemOut>
</OrderRequest>
</Request>
</cXML>
Благодаря
@ DanielHaley Первое изменение удалило всю вложенную информацию ниже под, а второе предложение уничтожило все, кроме тега end cxml. –
WJD
Извините, форматирование входного образца отбросило меня. Пожалуйста, см. Мой ответ. Надеюсь, это поможет! –
Помог ли мой ответ или у вас все еще проблемы? –