我正在尝试生成 XML 文件并保存它。以下代码显示了我将根元素附加到文档的方式。当我这样做时,抛出了一个异常,如下所示。
线程“main”org.w3c.dom.DOMException 中出现异常:HIERARCHY_REQUEST_ERR:尝试在不允许的位置插入节点。
public void comUnitIterator() {
System.out.println("This is the iterator");
Document fileDeclarationDocument = documentBuilder();
if (comUnits != null && comUnits.size() > 0) {
for (int i=0; i<comUnits.size();i++) {
CompilationUnit cu=comUnits.get(i);
SourceCodeClassVisitor classVisitor = new SourceCodeClassVisitor();
ClassOrInterfaceDeclaration classOrInterface = classVisitor.visit(cu, null);
Element rootElement = fileDeclarationDocument.createElement("class");
fileDeclarationDocument.appendChild(rootElement);
//classVisitor.visit(cu, null);
}
}
createXML(fileDeclarationDocument, "ABC");
}
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我这个异常的原因吗?
先感谢您。
我使用 freemarker 模板,并且在下面的 ftl 文件中给出了代码。
<#if (actionErrors?exists && actionErrors?size > 0)>
<ul>
<#list actionErrors as error>
<li><span<#rt/>
<#if parameters.cssClass?exists>
class="${parameters.cssClass?html}"<#rt/>
</#if>
<#if parameters.cssStyle?exists>
style="${parameters.cssStyle?html}"<#rt/>
</#if>
>${error}</span></li>
</#list>
</ul>
</#if>
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了以下错误。
freemarker.core.InvalidReferenceException:第 33 行的表达式错误未定义
我用 <#if error.value??> 包裹 ${error} 并再次尝试。但它仍然给出了同样的问题。然后我使用了此处提到的 ${error.value!'N/A'} 。仍然没有解决问题。请在这件事上给予我帮助。
先感谢您。
谢谢。