1

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 に答える