나는 다음과 같은 XML이 :자바 XPath는 표현
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<application xmlns="http://research.sun.com/wadl/2006/10">
<doc xmlns:jersey="http://jersey.dev.java.net/"
jersey:generatedBy="Jersey: 1.0.2 02/11/2009 07:45 PM"/>
<resources base="http://localhost:8080/stock/">
<resource path="categories"> (<<---I want to get here)
<method id="getCategoriesResource" name="GET">
을 내가 resource/@path
의 값을 얻으려면 그래서 나는 다음과 같은 자바 코드가이 XPath 식 결과와
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true); // never forget this!
DocumentBuilder builder = factory.newDocumentBuilder();
// get the xml to parse from URI
Document doc = builder.parse(serviceUri + "application.wadl");
XPathFactory xfactory = XPathFactory.newInstance();
XPath xpath = xfactory.newXPath();
XPathExpression expression =
xpath.compile("/application/resources/resource/@path");
this.baseUri = (String) expression.evaluate(doc, XPathConstants.STRING);
을 (baseUri
)는 항상 빈 문자열 (""
)입니다.
내가 더 XPath에 전문가는 아니지만, 당신은 단지 attribute''@와 속성을 해결하지? 당신은'/ @ path'를 가지고 있습니다. '/ application/resources/resource @ path'을 시도해보십시오. – Thomas
/application/resources/resource/@ path는 속성 – RanRag