如何在HTML中写XML

How to write XML in HTML

我想使用 Google Code Prettify 和 Thymeleaf(w/ Spring Boot)在我的 Web 应用程序的页面上显示以下 XML:

<?xml version="1.0"?>
<users>
    <user uid="user12" name="Matt" mail="user12@example.com"/>
</users>

所以我写了下面的HTML:

<pre id="code" class="prettyprint lang-xml">
&lt;&#x3f;xml version&#x3d;&quot;1.0&quot;&#x3f;&gt;
&lt;users&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;user uid&#x3d;&quot;user12&quot; name&#x3d;&quot;Matt&quot; mail&#x3d;&quot;user12&#x40;example.com&quot;&#x2f;&gt;
&lt;&#x2f;users&gt;</pre>

这工作正常,但 HTML 代码很脏。谁能告诉我一种编写更易于阅读的代码的方法?

嗯,这就是 HTML 的工作方式,所以您需要那些 HTML 实体。如果您使用 Thymeleaf,您可以做的是提供 XML 内容作为变量。如果您使用像 th:text 这样的属性,Thymeleaf 会自动转义这些变量的内容。例如:

<pre id="code" class="prettyprint lang-xml" th:text="${users}">

</pre>

这意味着您必须在某处定义 users 变量。这可以通过 Spring 控制器完成。您可以创建一个 XML 文件并将其作为字符串读取以将其传递给模型,例如:

@GetMapping
public ModelAndView getPage() throws IOException {
    Resource resource = new ClassPathResource("users.xml");
    return new ModelAndView("index", "users", FileUtils.readFileToString(resource.getFile(), Charset.defaultCharset()));
}

您可以将文件读取代码移到单独的地方,因为现在您会有一些开销,因为每次有人请求页面时您都会读取 XML 文件。