値を入れておくための要素(Element)と属性(Attribute)があり、どちらを使わなければいけないという明確な決まりはありません。何らかのルールに従って要素に格納するか属性を使うかを決め、ファイル全体に一貫性を持たせなければいけません。使い分けに悩むことが多いので次のガイドラインを参考にルールについて考えてみたいと思います。長い要素名を区切る場合、半角スペースは使えないのでそのまま続けて書くか、単語の頭を大文字にする、アンダースコア(_)を利用することになります。<sampleelement><sampleElement><SampleElement><sample_element>全て文法としては正しいです。文章を見てもそうなっていることが多いので、ここは「sampleElement」としておくのが良さそうです。ちなみに「URL」のような略語は「sourceURL」のようにせず「sourceUrl」としたほうが良いようです。「iPhone」や「iMac」をどう処理すべきかは難しいところです。「sampleiPhone」のようにしてしまっては可読性が下がってしまうので、ガイドラインにはありませんが「sampleIphone」とするか「sampleIPhone」のようにしておくしかなさそうですね。属性に関しても要素と同じ記法を使うのが良さそうです。要素・属性の使い分け一般的には要素より属性のほうが制限が多く、長すぎる内容を入れたり改行を含むものを入れるには向きません。セクションも利用できるのであらゆる値は要素だけでも一応表現できます。メモリ消費の観点で見ると、要素は同じ要素を複数含む可能性があるため探索に多くのメモリを消費しますが、属性は2つ以上同じ名前を持てないため、少ないメモリで済みます。個程度にして相関性の強いものを子要素でグループ化してそちらの属性とするのが良いようです。方向性としては利用者の目に触れるものは要素、管理のために使われる内部的なデータは属性にするのが良いようです。「このルールは別の理由で破られることが多い」と注釈を添えています。Attributes)によるとおおまかな基準は次のとおりです。(要約&抜粋)要素に向いているケース・データが複数回出現するなら要素を使う。data2=”..”」のようにはしない。・一つのオブジェクトとしてまとめることができ、親子関係があるなら要素を使う。変換されたバイナリなど。・内容が自然言語であれば要素に入れ、属性として使用言語を記述するのが良い。属性に向いているケース・管理用のIDやコード番号は属性にする。・別のデータのクラス、役割、処理方法を表すメタデータの場合。記述するのが良いとされています。つけておくのが理想です。記述し、ユーザーに見せる内容は要素に、管理・検索に使う内部的な値は属性に持たせる。ガイドラインでは次のように締めくくられています。(拙訳)“ルールの奴隷となって粗雑で独りよがりのむかむかするような汚らしい設計を作るよりはルールの一部、あるいは全てを破ってしまおう。子要素・属性を両方使ったほうが良いが、不規則に混在させてしまうと従うのも使うのも難しくなってしまう。要素を取得したり、検索する方法についてのメモです。ノードの内容を表示するサンプルがこちらです。使うと、その親ノードより深いすべてのノードが配列として取得されます。最初(0番目)のアイテムを選択する場合は「item(0)」のように指定します。ノードから値を取り出す時は「nodeValue」を使えば取得できます。使うとルートノードの名前がわからない場合でも取得できます。よって下記のように記述しても同じ結果を得ることができます。要素の内、内容が「test」であるノードを取得してみます。ノードを格納されています。