2017-12-28 34 views
0

"var"노드를 가져올 수없는 이유는 무엇입니까? 나는 아무 것도 보이지 않는다. 그래서 문제는 노드가 아무것도 반환하지 않는다는 것입니다. 도와주세요. 고마워요! 여기 "var"노드를 가져올 수없는 이유

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); 
Document doc = builder.parse(new InputSource(new StringReader(responseBody))); 
XPath xpath = XPathFactory.newInstance().newXPath(); 
// XPath Query for showing all nodes value 
XPathExpression expr = xpath.compile("/vxml/form/var"); 

NodeList nodes = (NodeList) expr.evaluate(doc, XPathConstants.NODESET); 
for (int i = 0; i < nodes.getLength(); i++) { 
    Node node = nodes.item(i); 
    System.out.println("test"); 
} 

은 XML입니다 :

여기 내 자바 코드

<?xml version="1.0" encoding="UTF-8"?> 
<vxml xmlns="http://www.w3.org/2001/vxml" xmlns:voxeo="http://community.voxeo.com/xmlns/vxml" version="2.1"> 
<form id="XCONTENT"> 
    <catch event="invalidResponse"> 
    <assign name="responseRetries" expr="responseRetries+1" /> 
    <clear namelist="CHOICES" /> 
    <goto nextitem="CHOICES" /> 
    </catch> 
    <var expr="1" name="responseRetries" /> 
    <var expr="''" name="choice" /> 
    <var expr="'8750000'" name="ntfnId" /> 
    <var expr="'8749000,8748000,8747000,8746000'" name="notIds" /> 
    <var expr="'228971'" name="deviceId" /> 
    <var expr="'0'" name="nodeId" /> 
    <var expr="'1'" name="orgId" /> 
    <var expr="'English'" name="userPreferredLang" /> 
    <var expr="'slow'" name="ttsRate" /> 
    <var expr="false" name="isValidationMessage" /> 
    <var expr="'8750000'" name="processedNotificationIds" /> 
    <var expr="'1815f630-bda2-45be-b08b-46a51d3aebd4'" name="callSid" /> 
    <var expr="'BEFORE'" name="authState" /> 
    <var expr="''" name="authNotificationIds" /> 
    <var expr="''" name="nodeName" /> 
    <var expr="false" name="RESPONSE_PLAYED" /> 
    <var expr="'true'" name="hasContent" /> 
    </form> 
</vxml> 
+0

재현 할 수 없습니다. XML을 텍스트 파일에 복사하고 코드를 복사하여 파일에서 XML을 읽도록 변경하고'test '를 17 번 인쇄합니다. * (jdk1.8.0_91 사용) * – Andreas

답변

0

귀하의 요소가 네임 스페이스에 있지만, 당신의 XPath는 네임 스페이스의 요소를 찾고 있습니다. 이 사이트에서 "XPath 기본 네임 스페이스"를 검색하면 동일한 문제가 발생한 수천 명의 다른 사용자를 찾을 수 있습니다.