2012-07-09 72 views
9

我有包含一个长属性值的XML数据。该值不包含空格字符。我想通过分割XML文本来格式化XML以实现可读性,以便该行不超过最大列数。
是否有任何手段来实现这一目标?是否有任何可以放在每行末尾的中断字符,以便XML解析器不会将其视为空白区域(如在Visual Basic中的下划线字符)?XML分割属性值在多个行

例如:

<element attribute="this_is_a_very_long_text_attribute_value_that_I_want_to_split_on multiple_line_for_readability"/> 

我想有这样的:

<element attribute="this_is_a_very_long 
_text_attribute_value_that_I_want_to_split 
_on multiple_line_for_readability"/> 
+0

你就会意识到,这两个属性是不同的值,如果你想匹配他们,也许,如果你有很长的价值一样,这将是在一个元素内部文本没有更好的下划线?没有可以使用的字符(XML将正确地永远不会拆分属性)。除此之外,是的,这可能取决于您在 – Woody 2012-07-09 10:58:51

+0

中处理文件的语言。我的属性值实际上是以分号分隔的较小值的列表。在这种情况下,使用子元素似乎更合适。我使用它来以键/值对的形式处理配置参数,其中一些具有字符串列表的形式。所以,在我的情况下不可能在不对文件格式进行重要更改的情况下使用元素内部文本。无论如何感谢您的回答,我只是想确保我没有错过XML规范中的某些东西。 – 2012-07-11 14:15:33

+0

相关:在XML换行符属性允许值?(https://stackoverflow.com/q/449627/3357935) – 2017-11-15 18:15:20

回答

3

存在XML本身没有规定换行符在Attribute Values
然而,这可以根据完成您正在使用此IDE来编写
即IDE。如果您使用的是Visual Studio,则会提供断线功能,并由IDE本身处理
但如果您使用某种低级文本编辑器(如记事本),则无法完成
您应该检查XML文档编辑

+1

真的吗? [这个答案](http://stackoverflow.com/a/449647/33080)否则说;属性值中的换行符应该被兼容的XML解析器接受。 – 2014-04-25 13:36:59

+1

如果你愿意读的问题这家伙没有得到什么多行他有,他希望在多行 – 2014-04-25 15:46:21

+0

如果你看了上面的回答下一个响应读长行,它谈论的属性正常化。新行通常会转换为空格。 \ n与 不一样 – Dorrin 2014-05-27 13:52:12

0

那么还有一个办法: 总之只要使用标签的替代空间。 欲了解更多请看这个答案。 https://stackoverflow.com/a/38880984/3135511

嗯,像Chrome开发工具或Visual Studio的IDE可能会陷入并限制你这样做,但一些普通的编辑器会完成这一工作,并且html/xml将处理它。