1

我想在一个父级中编写几个元素,我有以下代码:

public void writeElement(String parent, String element, String content) {
    try {
        xmlModifier.bind(vtdNav);
        vtdNav.toElement(VTDNav.FC, parent);
        xmlModifier.insertAfterHead("<" + element + ">" + content + "</" + element + ">");
        xmlModifier.output(filepath);
    } catch (ModifyException | NavException | IOException | TranscodeException e) {
        e.printStackTrace(); 
    }
}

和调用方法:

 @FXML
public void save() {
    String surname = surnameField.getText();
    String name = nameField.getText();
    String patronymic = patronymicField.getText();
    String id = idField.getText();
    String diagnosis = diagnosisArea.getText();
    String comments = commentsArea.getText();

    dbFile = DBFile.setDoc(dbDir + dbChoiceBox.getValue(), false);
    dbFile.writeElement("db", "patient", "");
    dbFile.writeElement("patient", "surname", surname);
    dbFile.writeElement("patient", "name", name);
    dbFile.writeElement("patient", "patronymic", patronymic);
    dbFile.writeElement("patient", "id", id);
    dbFile.writeElement("patient", "diagnosis", diagnosis);
    dbFile.writeElement("patient", "comments", comments);
}

而是这个结果:

<db>
<patient>
<surname></surname>
<name></name>
...
</patient>
</db>

我只有这个:

<db>
<patient>
<comments></comments>
</patient>
</db>

看起来writeElement每次都重写相同的元素。为什么会发生这种情况,我该如何解决?

4

1 回答 1

0

因为您要为每一次修改输出一个 XML 文件。如果您想一次进行所有修改,您不应该每次都调用 XMLModifier 的输出。

于 2013-10-02T07:54:15.733 回答