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;}