我是一名 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/