gpt4 book ai didi

java - 从 xml 导入 jtable

转载 作者:行者123 更新时间:2023-12-01 15:09:47 24 4
gpt4 key购买 nike

我写了一段代码,可以将数据保存到xml中。现在我想使用存储的 xml 并将其数据导入到表单中的表中。问题是:代码没有错误,但表中没有 xml 数据字段:(这是我的代码:

  private void jPanel4ComponentShown(java.awt.event.ComponentEvent evt) {                                       
// TODO add your handling code here:
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
try{
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document doc = builder.parse("D:\\test.xml");

Element root = doc.getDocumentElement();

NodeList nodelist1 = root.getElementsByTagName("FrameDefinitionSection");

String[] st= new String[4];

for(int i=0;i<nodelist1.getLength();i++)
{
Node node=nodelist1.item(i);
st[0]= node.getChildNodes().item(1).getTextContent();
st[1]= node.getChildNodes().item(3).getTextContent();
st[2]= node.getChildNodes().item(5).getTextContent();
st[3]= node.getChildNodes().item(7).getTextContent();
((DefaultTableModel) jTable1.getModel()).addRow(st);
}



}
catch(Exception ex)
{
System.out.print("error");
}
}

这是我的 xml 文件:该表应该将此 xml 中的节点显示到表的字段中,但它不起作用! :

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<FrameDefinitionSection>
<FrameNameAndElements>
<FrameName>here is the frame's name</FrameName>
<FrameElements>its element</FrameElements>
</FrameNameAndElements>
<FrameDefinition>
<Definition>the definition of the frame</Definition>
</FrameDefinition>
<FrameExampleSentences>
<ExampleSentences>its example as well</ExampleSentences>
</FrameExampleSentences>
</FrameDefinitionSection>

最佳答案

  1. 您在根节点下搜索节点 FrameDefinitionSection-Tags,但必须搜索 FrameNameAndElements-Tags
  2. getElementsByTagName 也会找到子子子标签。

你最好使用这个:

        DocumentBuilder builder = domFactory.newDocumentBuilder();
Document doc = builder.parse("D:\\test.xml");

Element root = doc.getDocumentElement();

NodeList nodelist1 =
root.getChildNodes();

String[] st = new String[4];

for (int i = 0; i < nodelist1.getLength(); i++)
{
Node node = nodelist1.item(i);
if (node.getNodeType() == node.ENTITY_NODE) {
st[0] = node.getChildNodes().item(1).getTextContent();
st[1] = node.getChildNodes().item(3).getTextContent();
st[2] = node.getChildNodes().item(5).getTextContent();
st[3] = node.getChildNodes().item(7).getTextContent();
((DefaultTableModel) jTable1.getModel()).addRow(st);
}

}

关于java - 从 xml 导入 jtable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12491345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com