2011-04-28 7 views
1

상위 및 하위 노드에 대한 속성을 검색하려고합니다. 나는 예제를 사용하려고 시도했다. showed here 그러나 "주어진 타입에 적용 할 수 없다"는 것을 보여주고있다.XML 하위 노드 속성

static class Entry { 
    final String ED,Home, Shift, Detail; 
    Entry(String ED,String Home, String Shift,String Detail) { 
     this.ED= ED; 
     this.Home = Home; 
     this.Shift = Shift; 
     this.Detail = Detail; 
     Node entryNode = entriesNodeList.item(i); 
     entries.add(new Entry(
     evalString(entryNode, "Home/@name"), 
     evalString(entryNode, "Home/@starDate"), 
     evalString(entryNode, "Home/@endDate"), 
     evalString(entryNode, "Home/Shift/@employeeID"), 
     evalString(entryNode, "Home/Shift/@start"), 
     evalString(entryNode, "Home/Shift/@end"), 
     evalString(entryNode, "Home/Shift/Detail/@start"), 
     evalString(entryNode, "Home/Shift/Detail/@end") 

XML 파일 :

`<ED CS="BLUE" Timestamp="2011-03-23 13:57:01" xmlns:js="TEST/js"> 
<Home name="57511" startDate="2011-03-12" endDate="2011-03-18"> 
<Shift ID="1170108" start="2011-03-12 0718" end="2011-03-12 1636" > 
<Detail type="Meal" start="2011-03-12 1218" end="2011-03-12 1248" /> 
</Shift> 
</ED>` 

답변

0

클래스 "항목"단지 4 개 개의 문자열 인수를하고 당신이 그것을 호출하려고하는 생성자. 클래스는 또한 4 개의 필드 만 보유하고있는 것으로 보입니다. 아마도 xml 파일을 Java 객체 계층으로 표현할 수있는 ED 용 복잡한 클래스 (CS, Timestamp, Home 및 Shift 필드 포함), Home, Shift 및 Detail을 실제로 도입하려고합니다.

+0

패트릭 - 그 말이 맞습니다. 평가 문자열 섹션에서 네 개의 추가 라인을 주석 처리했을 때 나는 결과를 얻었습니다. 나는 당신이 제안한대로 복잡한 수업을 연구 할 것입니다. – Alex

+0

나는 8 개의 필드를 받아들이 기 위해 클래스와 "Entry"클래스를 업데이트했다. 이제 8 개의 예상 값을 모두 반환합니다. 하지만 한 줄만 반환합니다 (파일에 여러 줄이 있음). 이 행은 한 행만 리턴합니다. for (엔트리 엔트리 : 엔트리) {System.out.println (엔트리); } – Alex

관련 문제