java - XML 子节点属性

标签 java

我正在尝试检索父节点和子节点的属性。我尝试使用这个例子 showed here但它给了我“不能应用于给定类型”。

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

最佳答案

“Entry”类的构造函数仅接受 4 个字符串参数,而您正尝试使用它来调用它。该类似乎也只包含 4 个字段。也许您实际上想为 ED 引入复杂的类(包含 CS、Timestamp、Home 和 Shift 字段)、Home、Shift 和 Detail,它们会将您的 xml 文件表示为 Java 对象层次结构。

关于java - XML 子节点属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5823613/

相关文章:

java - 如何在 JavaFX 中将 ObjectProperty<String> 转换为 StringProperty?

java - 如何从android中的嵌套对象访问setter?

java - Eclipse 在启动时不断更改文件名

java - 二进制 XML 文件行 #13 :Error inflating class fragment

java - 级联持久上的 Eclipselink 查询缓存失效

java - 即使从递归返回后,LinkedList 仍保留值

Java 流 : is there a way to iterate taking two elements a time instead of one?

java - 创建 JSONObject 时如何避免在字符串值周围加上引号

java - Spark 中的嵌套并行化?正确的做法是什么?

java - playframework:在 Play 中使用 hibernate 持久保留 java8 java.time 类型 LocalDate