У меня есть это требование: мне нужно получить значение элемента из XML и условно заполнить его пустым элементом. Единственное, что приходит на ум, это использовать XSLT.Замена тега элемента значением для конца тега
Состояние: Если PaymentMethodCode
равно NONE
, или не существует, мне нужно, чтобы заполнить этот пустой элемент: <eb:NoPayment/>
Например:
входного файла:
<Invoice xmlns="http://schema.infor.com/InforOAGIS/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schema.infor.com/InforOAGIS/2 http://schema.infor.com/2.12.x/InforOAGIS/BODs/SyncInvoice.xsd" Language="ger" DocumentTitle="Invoice">
<Country CountryCode="AT">Austria</Country>
<PaymentMethodCode>NONE</PaymentMethodCode>
</Invoice>
Мой ожидаемый выход должен быть:
<eb:Invoice xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ebinterface.at/schema/4p1/ http://www.ebinterface.at/schema/4p1/" xmlns:eb="http://www.ebinterface.at/schema/4p1/" eb:Language="ger" eb:DocumentTitle="Invoice">>
<eb:Country eb:CountryCode="AT">Austria</eb:Country>
<eb:PaymentMethod>
<eb:NoPayment/>
</eb:PaymentMethod>
</eb:Invoice>
Возможно ли это? Я не знаю, как это сделать в XSLT.
' ЭБ: NoPayment>' даже не XML, пустой элемент будет выглядеть как ' ' или ' eb: NoPayment>'. Также в вашем образце отсутствует какое-либо объявление пространства имен, связывающее префикс 'eb' с URI пространства имен. –
спасибо за уведомление, я только что редактировал свой XML, а также пустой тег. –
Каков ожидаемый результат, когда условие не выполняется? –