XMLのツリー構造

XML 文書は「根」から始まり、その後「枝葉」に展開する樹構造を持っています。

XMLのツリー構造

DOM ノードツリー

XML 文書例

この XML 内の書籍リストを表す上図です:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="美食">
  <title lang="zh">雅舍談吃</title>
  <author>梁实秋</author>
  <press>江苏文艺出版社</press>
  <year>2013</year>
  <price>35</price>
  <ISBN>9787539962771</ISBN>
</book>
<book category="儿童">
  <title lang="zh">素晴らしい狐狸の父親</title>
  <author>ロールド・ダール</author>
  <translator>代维</translator>
  <press>明日出版社</press>
  <year>2009</year>
  <price>10</price>
  <ISBN>9787533259563</ISBN>
</book>
<book category="文学">
  <title lang="zh">馴れ親しんだものを未知に変える</title>
  <author>ジグムント・ボウマン</author>
  <author>ピーター・ハフナー</author>
  <translator>王立秋</translator>
  <press>南京大学出版社</press>
  <year>2023</year>
  <price>68</price>
  <ISBN>9787305269387</ISBN>
</book>
<book category="科学">
  <title lang="zh">あなたは飛びたいですか、鳥のように?</title>
  <author>リチャード・ドーキンス</author>
  <author>アナ・レンツォヴァ</author>
  <translator>高天羽</translator>
  <press>湖南科学技术出版社</press>
  <year>2023</year>
  <price>88</price>
  <ISBN>9787571019075</ISBN>
</book>
<book category="政治" cover="平装">
  <title lang="zh">アメリカの民主主義</title>
  <author>トークヴィル</author>
  <translator>董果良</translator>
  <press>商務印書館</press>
  <year>1989</year>
  <price>60</price>
  <ISBN>9787100124553</ISBN>
</book>
</bookstore>

XMLのツリー構造

XMLドキュメントの要素は一棵要素木

この木はルート要素始まり、木の子要素

XMLドキュメントはルート要素を含む必要があります。この要素は他のすべての要素の親要素です。

すべての要素は子要素を持つことができます:

<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

親、子、同胞などの用語は要素間の関係を説明するために使用されます。

親要素は子要素を持ち、子要素も親要素を持っています。同じレベルの子要素は同胞(兄弟または姉妹)となります。

すべての要素はテキスト内容(雅舍談吃)と属性(category="美食")を持ち、HTMLと同様です。

自己記述的な構文

XMLはシンプルで自己記述的な構文を使用しています:

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>ミーティングを忘れずに!</body>
</note>

第一行はXML宣言です。それはXMLのバージョン(1.0)と使用されるエンコーディング(ISO-8859-1 = Latin-1/ヨーロッパの文字セット)を定義します。

次の行はドキュメントのルート要素(例えば、「このドキュメントはメモです」と言うように):

<note>

次の4行はルートの 4つの要素(to, from, heading そして body):

<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>ミーティングを忘れずに!</body>

最後の行は、ルート要素の終わりを定義しています:

</note>

この例から推測すると、この XML 文書には John が George に送ったメモが含まれています。

XML は優れた自己記述性を持っています、あなたも同意しますか?