+ -
当前位置:首页 → 问答吧 → jdom高手请教个问题,若能答复不胜感激!!!!!!!!!

jdom高手请教个问题,若能答复不胜感激!!!!!!!!!

时间:2010-08-12

来源:互联网

我目前在做一个jsp根据客户端提交的表单数据在服务器端生成固定格式的word文档的项目,生成的东西是word格式的xml文件,要替换这个文件里的内容,层次比较多而且内容也不少,在用jdom读取根元素的时候没问题,获得根元素的子元素的时候也没问题,但是获得根元素的子元素的子元素的时候就出错了,请各位帮我看看啊,xml文件的一部分如下所示,不需要替换的元素的内容我都没写出来
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
<w:wordDocument>
  <w:ignoreElements />
  <o:DocumentProperties></o:DocumentProperties>
  <w:fonts></w:fonts>
  <w:lists></w:lists>
  <w:styles></w:styles>
  <w:divs></w:divs>
  <w:shapeDefaults></w:shapeDefaults>
  <w:docPr></w:docPr>
  <w:body>
  <wx:sect>
  <w:p></w:p>
  <w:p></w:p>
  <w:p>
  <w:pPr>
  <w:r></w:r>
  <w:r></w:r>
  <w:rPr>
  <w:t>待替换内容</w:t>
  </w:rPr>
  </w:pPr>
  </w:p
  </wx:sect>
  </w:body>
<w:wordDocument>
JSP代码是

<%
String webappPath=request.getRealPath("/");
  String userdataName="change.xml";
  SAXBuilder builder = new SAXBuilder();
  Document readdocument=builder.build(webappPath+userdataName);
  Element rootEle = readdocument.getRootElement();//得到根元素
  Element wbodyEle=rootEle.getChild("w:body");
  Element wxsectEle=wbodyEle.getChild("wx:sect");
%>
然后页面提示
org.apache.jasper.JasperException: An exception occurred processing JSP page /change.jsp at line 21

18: Document readdocument=builder.build(webappPath+userdataName);
19: Element rootEle = readdocument.getRootElement();//得到根元素
20: Element wbodyEle=rootEle.getChild("w:body");
21: Element wxsectEle=wbodyEle.getChild("wx:sect");
22: /*
23: java.util.List rootList=rootEle.getChildren();
24: Element wbodyEle=(Element)rootList.get(7);
可是我把jSP最后一行的代码
Element wxsectEle=wbodyEle.getChild("wx:sect");
我以为只有wxsectEle这个元素没有获得,但是写了个测试发现wbodyEle都没有获得,这是怎么回事儿呢?

作者: liuyouzhang89   发布时间: 2010-08-12

不好意思,上面的xml文件本来有层次的,可是发上去空格都滤掉了

作者: liuyouzhang89   发布时间: 2010-08-12