Как изменить имя элемента XML при сортировке в Java - PullRequest
0 голосов
/ 08 марта 2019

Я пытаюсь создать XML-файл, используя Java. где ожидаемый результат указан ниже

ОЖИДАЕМЫЙ ВЫХОД

<?xml version="1.0" encoding="utf-8"?>
<Invoice xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" 
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" 
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>2019-112</cbc:ID>
<cbc:IssueDate>2019-01-21</cbc:IssueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
</Invoice>      

АКТУАЛЬНЫЙ ВЫХОД

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns4:Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ns2="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" xmlns:ns3="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:ns4="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</CustomizationID>
<ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</ProfileID>
<InvoiceTypeCode>380</InvoiceTypeCode>
</ns4:Invoice>

Для ясного понимания давайте возьмем "cbc: CustomizationID" в ожидаемом выводе, но в фактическом выводе только "CustomizationID"

Ответы [ 2 ]

0 голосов
/ 16 марта 2019

Я изменил @XmlElement (name = "cbc: CustomizationID", обязательный = true) после создания класса Java с помощью команды xjc. частично проблема решена, но необходимо изменить корневой элемент на вставленный из

0 голосов
/ 08 марта 2019

Фактический результат совпадает с ожидаемым. Просто меняет способ применения пространств имен.

Синтаксический анализатор XML должен обращаться с ним точно так же.

Взгляните на пространства имен XML .

...