200分求解:dom4j 使用XPATH解析。。诡异的问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 17:40:49
我用的是dom4j1.61 方法写好了,在mian函数里面调用,没有问题,返回值是正确的。可是在JSP里面new了这个类的对象以后,传入同样的值调用方法,报错

- Servlet.service() for servlet jsp threw exception
org.dom4j.InvalidXPathException: Invalid XPath expression: '/DYHFILE/yw[@ywid='104']'. Caused by: org/jaxen/dom4j/Dom4jXPath
at org.dom4j.xpath.DefaultXPath.parse(DefaultXPath.java:362)
at org.dom4j.xpath.DefaultXPath.<init>(DefaultXPath.java:59)
at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230)
at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207)
at org.dom4j.tree.AbstractNode.selectSingleNode(AbstractNode.java:183)
at com.kmi.fsflash.dyh.queryInfo.Getywname(queryInfo.java:135)
at org.apache.jsp.dyh.page1_jsp._jspService(page1_jsp.java:71)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspS

我也遇到同样的问题,现在也没找到为什么!
我的状况是这样的:
xml文件为 kpi.xml,如下
<?xml version="1.0" encoding="UTF-8"?>
<xmlconfig>
<kpi id="1" name="CPU占用">
<coltype name="SNMP" support="true">
<snmpagent>public|netcool</snmpagent>
<snmpruleid>0</snmpruleid>
</kpi>
<kpi id="2" name="XXX占用">
<coltype name="SM" support="false">
<snmpagent>public|netcool</snmpagent>
<snmpruleid>0</snmpruleid>
</kpi>
</xmlconfig>

main函数里面方法如下:

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public static void main(Strin