html - 如何在浏览器中显示带有保留空白/预格式化文本的 XML?

标签 html css xml browser whitespace

我希望创建一种简单的 xml 语言来格式化我必须编写的报告,类似于

<?xml-stylesheet href="./report.css"?>    
<report>
<title>A Tale of Two Cities</title>
<author>Charles Dickens</author>
<code>
int main (int argc, char **argv)
{       
    int x = 5;
}
</code>
</report>

在哪里report.css看起来像

title { 
    font-family: serif;
    background: white; 
    color: #003 
}

author { 
    font-size: large;
    margin: 1em 0 
}

code { 
    font-style: italic 
}

等问题是,我真的需要在一些标签中保留空格,比如 code .在 html 中 <pre>标记执行此操作,但我找不到 xml 的任何模拟,并且我的浏览器在呈现 xml 文件时会抛出所有空格。 <code xml:space="preserve">没有解决问题(据我所知,因为这不是纯文本节点)。是否有希望让浏览器正确显示它(之后我可以将其打印为 pdf)?或者以其他方式生成漂亮的报告?还是我应该改用 LaTeX?

最佳答案

HTML pre 标签的 CSS 对应物基本上是 white-space: pre 以及设置等宽字体。在设置 XML 样式时,您还需要根据需要设置 display 属性,当然,这是为了防止元素默认内联。

code { 
  display: block;
  white-space: pre;
  font-family: Consolas, Courier, monospace;
}

关于html - 如何在浏览器中显示带有保留空白/预格式化文本的 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9542156/

相关文章:

java - 在 Java StAX 解析器中编码

具有多种类型和多个数据绑定(bind)的 Python Selenium HTML 类

html - 如何使用 bootstrap4 在小屏幕上将 div 从 div 内部移动到它的正下方

html - 样式 md-icon

html - 在html中放置图像

android - 创建穿戴应用程序 XML : AAPT: error: attribute android:boxedEdges not found 时面临问题

java - 如何在 java 中使用 jdom 更改 xml 的内部节点的值

css - 我们可以将 Foundation 与 HTML5 样板一起使用吗?

jQuery:如何在没有已知高度的情况下为高度变化设置动画?

html - 在 bootstrap 汉堡图标左侧添加电话和 map 图标