Java XML子节点属性

Java XML子节点属性,java,Java,我正在尝试检索父节点和子节点的属性。我试着用这个例子 但它给了我无法应用于给定类型的信息 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.De

我正在尝试检索父节点和子节点的属性。我试着用这个例子 但它给了我无法应用于给定类型的信息

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>`

类条目的构造函数只接受4个字符串参数,您正在尝试使用调用它。这个班似乎也只有4个字段。也许您希望为ED引入复杂的类,这些类包含字段CS、Timestamp、Home和Shift、Home、Shift和Detail,这些字段将xml文件表示为Java对象层次结构。

Patrick-这很有意义,当我注释掉evaluate string部分的四行额外内容时,我得到了一个结果。我将按照你的建议研究复杂的类。我更新了conractor和类条目以接受8个字段。现在它返回所有8个期望值。但是它只返回一行,文件有几行。此行只返回一行。对于条目条目:条目{System.out.printlentry;}