2011-01-17 9 views
0

私のプログラムで実行できるアクションのリストをxmlで表現する必要があります。問題は、いくつかのアクションが追加の要素を必要とし、他のアクションは必要としないということです。たとえば、私のプログラムがファイルに対してアクションを実行する必要がある場合:私が興味のあるものだけを削除すると、そのパスがプログラムにコピーされていれば...再びパスが必要ですが、宛先のパスも必要です。構造化されたXMLファイルを作成しますか?実行するアクションのタイプに応じて要素を含むxmlファイルを書き込む

答えて

1

これは何か?

<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> 

あなたはしかし、提案された構造を壊すことなくactionタグ(例えば、検証コールバック)の下で他のタイプのノードを追加することができます、もちろんparamsレベルを削除し、直接actionタグの下paramタグを入れることができますあまりにも多くのもの。

+0

はい、私はまさに私が考えていたものです。ありがとう – Hiro

+0

上記の例はそのまま動作しますが、後で完全に柔軟ではないかもしれません。それは非常に議論の余地がある話題ですが、属性の価値データではなく、要素の内容に関するメタデータを含めることに属性を限定することが推奨されています。例: ' 75' :http://stackoverflow.com/questions/521454/how-should-you-structure-your-xml-file –

+0

@James:少なくとも、それは標準の.NETの 'appSettings' confセクションが構造化されている方法です(' ')。 –

関連する問題