Paul Libbrecht
Tue, 07 Mar 2006 23:56:00 -0800
Lei, that is normal! Either you change your XPath expression to only filter the element name*String s = document.valueOf("//*[local-name()='serviceRoot']/*[local-name()='serviceMethod']");
*or you use another method for XPath matching where you canaddNamespace("intx","http://B2Bi.seaie.ccb.com/InTxB2Bi002 <http://b2bi.seaie.ccb.com/InTxB2Bi002>");
then match with expression: *"//*intx*:serviceRoot/*intx*:serviceMethod" *hope that helps. paul * * 雷雨平 wrote:
Hello everyone! Would you do me a favor?I have a XML string:<!-- begin --> <?xml version="1.0" encoding="UTF-8"?><serviceRoot *xmlns*=" http://B2Bi.seaie.ccb.com/InTxB2Bi002 <http://b2bi.seaie.ccb.com/InTxB2Bi002>" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance <http://www.w3.org/2001/XMLSchema-instance>"><serviceName>TelecomService</serviceName> <servicePort>TelecomService</servicePort> <serviceMethod>cxCharge</serviceMethod> <appKey>123</appKey> </serviceRoot> <!-- end -->// I want to read the text of <serviceMethod> with valueOf(String xpathExpression) method:*String s = document.valueOf("//serviceRoot/serviceMethod");* // The "s" shuld be "cxCharge", but it is "".I found the "xmlns" is the cause of it. If I set xmlns to "" or delete it, I will get string I expected. The xmlns always exsits and can't modify. How can I get expected string in this case?*Thank you very much!!* :-) Lei YuPing
------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642 _______________________________________________ dom4j-dev mailing list dom4j-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dom4j-dev