`XmlMapper` output not well-formed when Object keys use invalid XML name characters
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece reproduzindo a conversão com XmlMapper e o JSON do Open Food Facts vinculado ou BadXmlFromJson.zip. Compare o XML gerado com o parsing do Xerces ou Saxon e, em seguida, inspecione as opções disponíveis de FromXmlParser.Feature e ToXmlGenerator.Feature. Está concluído quando a saída estiver bem formada para chaves como agribalyse_proxy_food_code:en e 1, com os prefixos de namespace tratados corretamente.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
After converting it to XML (also in the attached ZIP) you get some issues that prevent Xerces or Saxon from parsing it:
- Namespace prefixes are not declared
- Some elements are not well formed
For example, at line 48 you see this:
<agribalyse_proxy_food_code:en>12315</agribalyse_proxy_food_code:en>
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?
- Linguagem predominante
- Java
- Estrelas
- 636
- Forks
- 250
- Merge médio
- 7h 10min
- PRs com merge (30d)
- 8
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de FasterXML/jackson-dataformat-xml
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
FasterXML/jackson-dataformat-xml#931 · 3 comentários ·
-
XmlMapper with `FAIL_ON_UNKNOWN_PROPERTIES` fails on whitespace-only elementTalvez já em andamento @arimu1 assumiu há 89 dias. Abertato-evaluate
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
-
3.x
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
FasterXML/jackson-dataformat-xml#787 · 1 comentário ·
Todas as issues de FasterXML/jackson-dataformat-xml
Issues semelhantes
-
Cleanup: restore the interrupt flag in AiFailureAnalyzerTalvez já em andamento @Rishankgupta08 assumiu hoje. Abertagood first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
seleniumboot/selenium-boot#258 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
dense-analysis/ale#5181 ·
-
bug subsystem:agent-harness triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
ShaftHQ/SHAFT_ENGINE#8043 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
johanhaleby/occurrent#1505 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia