为什么XML在notepad ++和notepad中的外观不同?

时间:2013-04-24 20:48:04

标签: xml tags formatting notepad++ notepad

更新

好的,因此文件外观不同的原因是因为EOL(End Of Line)在UNIX和Windows格式中不同。记事本无法处理UNIX EOL,因此它将XML全部放在一行上。 Notepad ++处理两者,因此它知道在显示文件时如何正确格式化文件。在编辑 - > EOL转换中将EOL更改(注释为+1到Uberfuzzy),这样可以使记事本能够正确查看文件。

原始帖子

好的,所以这个问题产生了我创建的另一个问题,我将在下面链接,我想知道为什么XML的工作方式。所以,我在notepad ++中打开了一个XML文件,如下所示:

<?xml version="1.0"?>
<settings>
    <tag_1>some tag content</tag_1>
    <tag_2/>
</settings>

在旧的简单记事本中打开的同一个文件看起来像这样

<?xml version="1.0"?><settings> <tag_1>some tag content</tag_1> <tag_2/></settings>

现在,回到记事本++中我使用“插件 - > XML工具 - >线性化XML”,然后使用“插件 - > XML工具 - &gt;漂亮的打印(仅限XML - 带换行符)”(kudos to { {3}}帮助我解决这个问题)现在,该文件看起来与之前在记事本++中的相同,但在记事本中它现在看起来像

<?xml version="1.0"?>
<settings>
    <tag_1>some tag content</tag_1>
    <tag_2/>
</settings>

我的另一个问题,可以在这里找到How to format XML in Notepad++?只能正确加载XML,如果它在记事本中正确显示的话。 那么为什么XML在notepadd ++和notepad中的外观不同?是否有一个我不知道被使用的字符?或者是notepad ++自动格式化XML,因为它知道如何读取标签?我不知道......任何帮助都会受到赞赏!

2 个答案:

答案 0 :(得分:3)

正是由于在XML中创建了新行的换行符,普通的旧记事本需要Windows换行符。

对于Windows,它是:\ r \ n

答案 1 :(得分:2)

记事本使用标准的Windows样式换行符(CRLF),而Unix使用(LF)。我认为你的XML文件是一个Unix格式的文本文件,这就是为什么Notepad没有正确显示它。在Notepad ++中使用插件之后,它必须在您的文件中添加系统特定的新行,但这是我正在做的假设。