java - 直接将XML记录显示到jtable记录

标签 java xml swing

我是一名 C++ 程序员,但对 Java 世界还是个新手。我必须直接将 xml 数据显示到 jtable。

说,

xml 的格式如下

<Name> Tom </Name>
<DateofBirth> 12/3/1985 </DateofBirth>
<country> US </country>

那么表格需要显示如下

Name    |     DateofBirth | Country

Tom      12/3/1985       Us

可以吗?如果可以的话,谁能提供一个样本吗?

最佳答案

是的,这是非常可行的。此过程有 2 个步骤。首先是解析xml。用于解析 xml 的一些示例 Java 代码如下(此示例显示从 xml 文件获取“person”节点,但它可以轻松地适应您的 xml 文件):

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder parser = factory.newDocumentBuilder();
Document document = parser.parse("xml/sample.xml");
NodeList personNodes = document.getElementsByTagName("person");
List<String> names = new LinkedList<String>();
for (int i = 0; i < personNodes.getLength(); i++) {
  String firstName = null;
  String lastName = null;
  Node personNode = personNodes.item(i);
  NodeList children = personNode.getChildNodes();
  for (int j = 0; j < children.getLength(); j++) {
  Node child = children.item(j);
  String nodeName = child.getNodeName();
  String nodeValue = child.getTextContent();
  if ("firstName".equals(nodeName)) {
    firstName = nodeValue;
  } else if ("lastName".equals(nodeName)) {
   lastName = nodeValue;
  } 
}
names.add(firstName + " " + lastName);
} 

提取所需数据后,创建一个使用该数据的新 JTable。用于您目的的最简单的 JTable 构造函数是:

JTable(Object[][] rowData, Object[] columnNames) 

有更高级、更好的方法可以做到这一点(例如使用数据绑定(bind)框架),但这绝对是一个很好的起点。

关于java - 直接将XML记录显示到jtable记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1559775/

相关文章:

java - Axis2 与 Axis Kernel 版本有关的问题 - 如何从 java 项目引用另一个项目

java - Hibernate 在用户注册后在角色表中添加不必要的行

java - 带有 unicode 路径的 XML 实体引用

json - 将不完整列表解析为具有两个不同问题的数据帧

java - 如何使用 ListView 滚动所有布局

java - JPanel 之间的间隙

java - 如何在数据库中保存时区信息?

java - Android 设置具有唯一 ID 的闹钟

java - 将空布局与卡片布局相结合 [java]

java - 数字格式异常 : empty string when clicking the JButton?