我正在使用 Thymeleaf 创建基于模板的 XML 文档。
来自模板(仅在此处显示一部分)
<A>
...something goes here...
</A>
我要制作文件
<A>
<?foo bar="baz" ?>
</A>
其中属性的值bar
在运行时会发生变化(在本例中为baz
),因此应该从变量中注入。
我一直在看这里,但找不到任何有关 XML 处理指令的信息。
我找到了一种解决方法,可以为我完成这项工作:
<A>
<span th:utext="${'<?foo bar="' + barValue + '" ?>'}" th:remove="tag"></span>
</A>
它通过创建一个<span>
包含 PI 作为文本的标签来工作。它最终删除了标签,将 PI 留在原处。
然后我像这样编写 XML 文档:
Context context = new Context();
context.setVariable("barValue", "baz");
String xml = templateEngine.process("document1", context);