Festlegen/Hinzufügen einer Eigenschaft im Array mithilfe von XMLPropertyListConfiguration mit XPathExpressionEngineJava

Java-Forum
Guest
 Festlegen/Hinzufügen einer Eigenschaft im Array mithilfe von XMLPropertyListConfiguration mit XPathExpressionEngine

Post by Guest »

Ich versuche, eine Eigenschaft in einer .plist-Datei mithilfe einer XPath-Schlüsselspezifikation hinzuzufügen/zu aktualisieren. Ich habe es mit einer Datei getestet, die so aussieht:

Code: Select all




testProp

text
54
2023-11-09T16:29:34Z

objectProp

text
54
2023-11-09T16:29:34Z



und ein XMLPropertyListConfiguration-Objekt, das wie folgt aufgebaut ist:

Code: Select all

File file = new File("path/to/config.plist");
XMLPropertyListConfiguration configuration =
new FileBasedConfigurationBuilder(XMLPropertyListConfiguration.class)
.configure(new Parameters().xml()
.setFile(file)
.setExpressionEngine(new XPathExpressionEngine()))
.getConfiguration();

// do any changes, then save the file using:
FileHandler handler = new FileHandler(configuration);
handler.save(file);
Mein Ziel: Bearbeiten Sie einen Wert in einer der Array-Eigenschaften oder fügen Sie einen neuen Wert in das Array ein. Ich hatte gedacht, dass die Konfiguration.setProperty("/testProp[2]", "a different string") zu Folgendem führen würde (einige Teile der Kürze halber gekürzt):

Code: Select all

testProp

text
a different string
2023-11-09T16:29:34Z

aber stattdessen wurde testProp[2] als eigene Eigenschaft hinzugefügt:

Code: Select all




testProp

text
54
2023-11-09T16:29:34Z

objectProp

text
54
2023-11-09T16:29:34Z

testProp[2]
a different string


Soweit ich weiß, verwenden Sie das Prädikat testProp[n], um die n-te Eigenschaft/den n-ten Wert von testProp anzugeben, aber das ist hier offensichtlich nicht der Fall. Gibt es etwas, das mir speziell bei Arrays fehlt? Oder müsste ich testProp als Liste lesen, die Liste ändern und dann die gesamte Liste wieder als testProp speichern? Die beste Lösung, nach der ich suche, ist etwas, das alle relevanten Informationen in die XPath-Zeichenfolge aufnehmen kann, aber wenn ich den Index im Array separat verarbeiten muss, kann das auch behandelt werden.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post