【发布时间】:2017-12-04 00:58:50
【问题描述】:
我有一些数据想要存储在 XML 文件中。 (不一定是 XML,但 XML 是一种很好的开放格式。)
数据由节点和子节点组成(深度没有限制),每个节点都可以有一些文本。
我的数据可能如下所示:
<?xml version="1.0" ?>
<nodes>
<node title="root">
<node title="child1">
Here is some text for child1.
</node>
<node title="child2">
Here is some text for child2.
</node>
<node title="child3">
Here is some text for child3.
</node>
Here is some text for root.
</node>
</nodes>
但是这种方法的问题是我最终会得到很多原始文本中没有的空白。例如,我的根节点的文本有 10 个换行符和一堆制表符(或空格),以便很好地格式化子节点。
以这种方式使用 XML 存储数据,但不添加任何额外的空白字符,准确保留原始文本,有什么好的方法?
注意:我假设我可以只拥有没有换行符或缩进的所有数据:
<?xml version="1.0" ?>
<nodes>
<node title="root"><node title="child1">Here is some text for child1.
</node><node title="child2">Here is some text for child2.
</node><node title="child3">Here is some text for child3.
</node>Here is some text for root.
</node>
</nodes>
我想这消除了任何新的空白。但这是最好的方法吗?它几乎是丑陋的。一些 XML 查看器可能会通过添加空格来格式化标签。
【问题讨论】:
-
XML 不是一种格式。 XML 是一种用于描述其内容的文档标记语言。它的显示方式与 XML 无关。如果您想更改它的显示方式,请设置您的编辑器来执行此操作。
-
@Rob:我不相信有人说 XML 是一种格式。但是有一些标准的方法来格式化 XML 标记,我有一个编辑器,如果我要求它会自动执行它。我只是想弄清楚如何在 XML 文档中安全地存储文本,并确保我不会得到任何额外的字符。此外,如果文档易于阅读,那就太好了,但也许这要求太多了。
-
您的第一句话:XML 是一种不错的开放格式。是的,你的编辑可以做到这一点。不,XML 不能。
-
@Rob:好吧,好吧。 Wikipedia 将 XML 定义为 “一种标记语言,它定义了一组规则,用于以人类可读和机器可读的 格式 编码文档。” 这就是我的意思它。但是,好吧,这不是一种格式。
标签: xml