今天在做Vignette CMS role的migrate,遇到了了这样的问题
[Fatal Error] :853:70: The entity name must immediately follow the '&' in the entity reference.
SAXParseException at line 853 in uri null
The entity name must immediately follow the '&' in the entity reference.
org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity referen
ce.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at com.vignette.util.XmlReader.parse(XmlReader.java:46)
at com.vignette.util.XmlReader.parseFile(XmlReader.java:89)
at com.vignette.tools.role.DataFile.readFromFile(DataFile.java:78)
at com.vignette.tools.role.ImportRoles.importRoles(ImportRoles.java:74)
at com.vignette.tools.role.ImportRoles.main(ImportRoles.java:54)
Exception in thread "main" java.lang.NullPointerException
at com.vignette.util.TopLevel.getTopElement(TopLevel.java:57)
at com.vignette.tools.role.DataFile.readFromFile(DataFile.java:81)
at com.vignette.tools.role.ImportRoles.importRoles(ImportRoles.java:74)
at com.vignette.tools.role.ImportRoles.main(ImportRoles.java:54)
问题的原因是工具里面没有办法解析“&”,解决方法是在export出来的文件里,用“and” 替换 “&”。