タイトルは、私が本当に作りたい質問に比べるとかなりシンプルですが、どのように表現すればよいのかよくわかりません。私が作成しているXML解析モジュールの場合、XMLドキュメントの正確な構造に従ってキーと属性を追加する必要があります。次に例を示します。
<Person>
<Name>Someone</Name>
<Age>25</Age>
<Skills>
<Skill>Projectile vomiting</Skill>
</Skills>
</Person>
戻る必要があります:
{ "Person" : { "Name" : "Someone", "Age" : "25", "Skills" : { "Skill" : "Projectile vomiting"}}}
...プログラムがXMLドキュメントの正確な構造を知らなくても。任意の数の属性、任意の数のネストされた属性を持つことができます。
使用する
Dict["key"]["anotherkey"]["yetanotherkey"] = Value
XMLドキュメントが3つの属性ネストを使用しているかどうか、またはそれらの属性のネストにさらに多くのネストが含まれているかどうかがわからないため、機能しません。
私が持っていたアイデアは、パーサーがネストの始まりに遭遇するたびに、つまりパーサーが到達した場合に「ノードを開く」ことでした。
<Skill>
内に属性を割り当てます
<Skills> and </Skills>
Dict ["Person"] ["Skills"]、およびいつ
</Skills>
が発生すると、ノードが「閉じ」、Dict ["Person"]に属性が割り当てられ続けますが、これを実装する方法がわかりません(ただし、ドキュメントのすべての値、属性、およびノードを取得できます)。
上記のように、XMLドキュメントの正確な構造を知らなくても、辞書を正しい形式でネストするにはどうすればよいですか?