繁体   English   中英

将XML数据传递到文件中

[英]Passing XML data into a file

我有一个界面,可以拍摄两个视频并排同时播放,用户可以随时在上面显示的3个文本框中向视频添加评论。 我要做的是将带有时间戳的文本保存在这些框中。 我有一个类来创建一个已保存的对象-单击保存按钮,它将接受3个文本输入和视频的位置。 我不确定的是一旦将输入传递回我的班级后如何保存输入。

这是我在按钮单击时调用类的代码:

Save.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent i) {

            Saved saved = new Saved();
            saved.setPosition(mediaPlayerComponent2.getMediaPlayer().getPosition() * 1000);
            saved.setGap(textArea.getText());
            saved.setForces(textArea1.getText());
            saved.setFindings(textArea2.getText());

            try {
                File file = new File("text.xml");
                JAXBContext jaxbContext = JAXBContext.newInstance(Saved.class);
                Marshaller jaxbMarshaller = jaxbContext.createMarshaller();

                // output printed
                jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

                jaxbMarshaller.marshal(saved, file);
                jaxbMarshaller.marshal(saved, System.out);

            } catch (JAXBException e) {
                e.printStackTrace();
            }
        }

    });

这是我用于创建Saved对象的类:

@XmlRootElement
public class Saved {
    float position;
    String gap;
    String forces;
    String findings;

    public float getPosition(){
        return position;
    }

    @XmlAttribute
    public void setPosition(float position){
        this.position = position;

    }

    public String getgap() {
    return gap;
}

@XmlElement
public void setGap(String gap) {
    this.gap = gap;
}

public String forces() {
    return forces;
}

@XmlElement
public void setForces(String forces) {
    this.forces = forces;
}

    public String findings() {
    return forces;
}

@XmlElement
public void setFindings(String findings) {
    this.findings = findings;
    }

}    

根据评论:

首先,您尝试编组非静态内部类,这可以通过将其更改为静态嵌套类或“外部”类来解决。

这样JAXB就无法识别gapforcesfindings的吸气剂。 因此,将getgap()forces()findings更改为getGap()getForces()getFindings()


还要注意的是findings()返回的值forces

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM