Ich muss in Xml eine Liste von Aktionen ausdrücken, die mein Programm ausführen kann. Das Problem besteht darin, dass einige Aktionen zusätzliche Elemente benötigen und andere nicht. Zum Beispiel, wenn mein Programm Aktionen auf Dateien ausführen muss: Wenn ich das einzige, was mich interessiert, ist der Pfad löschen, wenn das Programm die Kopie macht ... wieder brauche ich den Pfad, sondern auch einen Pfad des Ziels .. Wie zu schreibe eine XML-Datei so strukturiert?Schreiben Sie XML-Datei mit Elementen in Abhängigkeit von der Art der auszuführenden Aktion
0
A
Antwort
1
So ähnlich?
<actions>
<action name="FileCopy">
<params>
<param name="SourcePath" value="c:\source.txt"/>
<param name="DestPath" value="c:\dest.txt"/>
</params>
</action>
<action name="FileDelete">
<params>
<param name="DeletePath" value="c:\source.txt"/>
</params>
</action>
<action name="ReloadCache"/>
<action name="Alert">
<params>
<param name="Message" value="Done!"/>
</params>
</action>
</actions>
Sie könnten natürlich die params
Ebene entfernen und param
Tags direkt unter dem action
Tag legen, aber die vorgeschlagene Struktur ermöglicht es andere Arten von Knoten unter dem action
Tag hinzuzufügen (zum Beispiel Validierung Rückrufe), ohne zu brechen zu viele Dinge.
Ja, es ist genau das, was ich dachte. Danke – Hiro
Während das obige Beispiel so funktioniert, wie es ist, ist es zu einem späteren Zeitpunkt möglicherweise nicht ganz flexibel. Es ist ein höchst umstrittenes Thema, aber viele empfehlen, dass Attribute darauf beschränkt sind, Metadaten bezüglich des Inhalts des Elements zu enthalten, anstatt Daten zu value: zB: 75 'Siehe diesen Beitrag für weitere Diskussion : http://stackoverflow.com/questions/521454/how-should-you-structure-your-xml-file –
@James: zumindest, das ist, wie Standard-.NET 'appSettings' conf Abschnitte sind strukturiert (' '). –