`XmlMapper` output not well-formed when Object keys use invalid XML name characters
还没有人认领这个 Issue。
评估
调研方向
首先使用 XmlMapper 和链接的 Open Food Facts JSON 或 BadXmlFromJson.zip 复现转换过程。将生成的 XML 与 Xerces 或 Saxon 的解析结果进行比较,然后检查可用的 FromXmlParser.Feature 和 ToXmlGenerator.Feature 选项。当对于 agribalyse_proxy_food_code:en 和 1 等键,输出是格式良好的,并且命名空间前缀得到正确处理时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
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?
- 主要语言
- Java
- 星标
- 636
- 派生
- 250
- 平均合并
- 7 小时 10 分钟
- 30 天内合并 PR
- 8
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
FasterXML/jackson-dataformat-xml 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 85/100
-
难度 4/5 3-5 天 新手友好度 55/100
-
难度 4/5 3-5 天 新手友好度 45/100
FasterXML/jackson-dataformat-xml#931 · 3 条评论 ·
-
XmlMapper with `FAIL_ON_UNKNOWN_PROPERTIES` fails on whitespace-only element可能已有人在做 @arimu1 于 89 天前认领。 未关闭to-evaluate
难度 3/5 1-2 天 新手友好度 68/100
-
3.x
难度 4/5 3-5 天 新手友好度 25/100
FasterXML/jackson-dataformat-xml#787 · 1 条评论 ·
查看 FasterXML/jackson-dataformat-xml 的全部 Issue
相似的 Issue
-
Cleanup: restore the interrupt flag in AiFailureAnalyzer可能已有人在做 @Rishankgupta08 今天认领。 未关闭good first issue
难度 2/5 1-3 小时 新手友好度 82/100
seleniumboot/selenium-boot#258 · 1 条评论 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 70/100
dense-analysis/ale#5181 ·
-
bug subsystem:agent-harness triage
难度 2/5 1-3 小时 新手友好度 76/100
ShaftHQ/SHAFT_ENGINE#8043 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 88/100
johanhaleby/occurrent#1505 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复