使用 DOM 使用适当的元素标记将 JTable 数据写入 XML

问题描述

我想使用 DOM 解析器将 JTable 数据写入 XML 文件。 我正在尝试创建 JTable 列的元素标记,这与 here 不同,其中列名被视为 TextNodes。
这是我尝试过的:

  String[] columnNames = {"Name","Technology"};
  Object[][] rowData = {{"Raja","Java"},{"Vineet","Java Script"},{"Archana","Python"},{"Krishna","Scala"},{"Adithya","AWS"},{"Jai",".Net"}};
  model = new DefaultTableModel(rowData,columnNames);
  
  try {
      DocumentBuilderFactory dbFactory =
      DocumentBuilderFactory.newInstance();
      DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
      Document doc = dBuilder.newDocument();
      
      //root Element
      Element rootElement = doc.createElement("Cars");
      doc.appendChild(rootElement);
      
      for(int i=0; i<model.getRowCount();i++) { 
          for(int j=0; j<model.getColumnCount();j++) { 
              
              Element ele = doc.createElement(model.getColumnName(j));
              ele.appendChild(doc.createTextNode((String) model.getValueAt(i,j)));
              
          }
          Element data = doc.createElement("td");
          rootElement.appendChild(data);
          Attr attrr = doc.createAttribute("row: ");
          String stri = Integer.toString(i);
          attrr.setValue(stri);
          data.setAttributeNode(attrr);
      }
      
      // write the content into xml file
      TransformerFactory transformerFactory = TransformerFactory.newInstance();
      Transformer transformer = transformerFactory.newTransformer();
      DOMSource source = new DOMSource(doc);
      StreamResult result = new StreamResult(new File("D:\\cars.xml"));
      transformer.transform(source,result);
      
      // Output to console for testing
      StreamResult consoleResult = new StreamResult(System.out);
      transformer.transform(source,consoleResult);
   } catch (Exception e) {
      e.printstacktrace();
   }

另外,我需要为此创建 getter 和 setter 吗?为什么使用它们?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...