FasterXML / FasterXML/jackson-dataformat-xml

`XmlMapper` output not well-formed when Object keys use invalid XML name characters

Aperta
#511 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
test-needed
Lingua principale
Java
Stelle
631
Fork
246
Merge medio
7g 9h
PR unite (30g)
13

Descrizione

I've been working with a lot of web APIs and converting the JSON to XML using XmlMapper. It generally works great, but I have an example that creates invalid XML. I am using the latest version of Jackson (2.13.1).

When you call this API you get the attached JSON output.
`https://world.openfoodfacts.org/api/v0/product/7622300315733.json`

The Jackson pretty-printer has no problem indenting this nicely.
[BadXmlFromJson.zip](https://github.com/FasterXML/jackson-dataformat-xml/files/7856593/BadXmlFromJson.zip)

After converting it to XML (also in the attached ZIP) you get some issues that prevent Xerces or Saxon from parsing it:
1. Namespace prefixes are not declared
2. Some elements are not well formed

For example, at line 48 you see this:
`12315`

and at line 653 you see this: `<1>` which is an error because XML names must start with a letter or underscore.

I'm using XmlMapper like this:

XmlMapper xmlMapper = new XmlMapper();
return xmlMapper.writeValueAsString(jsonTree);

I can't find any features in FromXmlParser.Feature or ToXmlGenerator.Feature that apply to either of these issues.

Is there another way to configure XmlMapper or is this a bug?

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.