我意识到这不是很优雅或不理想,但是(在格式正确的XML中)允许XML元素中的属性值跨越多行吗?

例如 通用标签

是的,我知道有更好的书写方式。我会这样写: 通用标签

或: 通用标签

但是我们有自己的XML解析器,我想知道第一个示例是否在格式正确的XML中允许。

有帮助吗?

解决方案

http://www.w3.org/TR/REC-xml/#NT-AttValue

似乎可以说除<&和分隔符('")之外的所有内容都可以。因此换行符也应该如此。

其他提示

这是允许的,但是根据W3C的建议,您的XML解析器应将所有空格字符归一化为空格(0x20)-这样示例的输出将有所不同(输出的“&#13;&#10;”,但在第一种情况下只能使用空格。

http://www.w3.org/TR/1998/REC-xml-19980210#AVNormalize

.NET仅: 如果不确定目标字符串是否为有效的xml属性(并通过代码提供此属性的值),则始终可以使用 SecurityElement.Escape 函数可对无效字符进行转义。

根据此功能的说明,唯一无效的字符是:

<>&'"

这意味着(正如我的前任所写的那样),新行应该可以。

是的,第一个示例是有效的示例。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top