所以我刚开始尝试使用FreeMarker,并且遇到了这个问题。FreeMarker XML属性目前导致undefined
当我使用在线教程与提供的XML文件,并写入类似
${doc.book.chapter.para[0]}
我得到预期的输出。
但是,当我尝试使用自己的XML文档时,我得到一个错误Expression .... is undefined。
我想我已经发现,这是因为我的XML有属性,而教程没有。
我得出这个结论,因为如果我键入
${doc.MyElement[0]}
我得到的未定义错误
但是,如果我删除从XML文档的属性,并键入同样的事情
${doc.MyElement[0]}
我得到一个不同的错误,与MyElement有孩子。
我明显地期待并理解第二个错误,但为什么它只是通过删除属性而改变?当然,这些应该被忽略?
有没有其他人有这个问题?什么是解决方案?
感谢,
罗勒
PS。只是为了检查我的术语正确的,当我说属性,我的意思是
“书型=小说”,而不是仅仅是“书”
属性的存在确实无关紧要。如果您复制粘贴一个简单的示例与确切的模板和XML,以便我可以重现错误,我当然可以告诉问题是什么。 – ddekany 2012-07-11 17:59:57
配置cfg = new Configuration(); cfg.setObjectWrapper(new DefaultObjectWrapper()); \t \t Template tem = cfg.getTemplate(“FMT.ftl”); \t \t \t \t Map root = new HashMap(); \t \t root.put(“doc”,NodeModel.parse(new File(“inputdata。XML“))); \t \t StringWriter的作家=新的StringWriter(); tem.process(根,作家); \t \t 的System.out.println(writer.toString()); – 2012-07-12 08:33:44
和我的XML看起来例如: – 2012-07-12 08:35:21