XML多根标签错误

时间:2015-07-30 17:47:59

标签: xml

我有一个这种形式的xml文件。由于多根错误,它无法正常工作。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<message val="new" val2 = "1" val3 ="new"> Value </message>
<?xml version="1.0" encoding="UTF-8"? standalone="yes"?>
<message val="new" val2 = "1" val3 ="new"> Value </message>

    ...

在修复xml时是否有任何方法可以保持这种结构?或者更具体地说:解决它的最简单方法是什么?

2 个答案:

答案 0 :(得分:1)

我建议您将消息节点放在根节点内,例如&#34;消息&#34;然后删除额外的xml声明。

像这样:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<messages>
   <message val="new" val2 = "1" val3 ="new"> Value </message>
   <message val="new" val2 = "1" val3 ="new"> Value </message>
</messages>

拥有多个声明而没有根节点根本就不是格式良好的XML,并且无法将其验证为XML文件或使用任何使用XML的组件进行处理。

答案 1 :(得分:1)

不,XML文档没有任何方法可以拥有多个根元素。此外,XML文档无法像您的示例那样拥有多个XML声明。

修复文档的最简单方法是

  1. 删除first one at the very top of the file以外的所有XML声明(<?xml ... ?>)。
  2. 将所有其他元素包装在单个根元素中。
  3. 如果你没有进行这些更正,那么你的XML不是well-formed - 事实上,它根本就不是XML - 而且你将无法使用任何XML库或工具来处理它