#! /bin/blog

実行形式のブログです。というか、ほぼポエムです。

汎用的なXMLのパース処理

ろくなライブラリがなかったので、
汎用的なXMLのパース処理を書こうと思って、重大な気づきをした。
どうやって、要素が配列かどうか判定すればいいのだろうか。

resourceの部分だけど、これはResourceオブジェクトを2つaddしたListになる。

<item>
    <name>name1</name>
    <resource>
      <url>https://xxx</url>
    </resource>
    <resource>
      <url>https://yyy</url>
    </resource>
<item>

でも、Resourceが一個しかなかったら、Listにしていいのか、わからない?
nameだって、一つしかないなんて、わからないぞ。

<item>
    <name>name1</name>
    <resource>
      <url>https://xxx</url>
    </resource>
<item>

JSONは、[]で囲まれることで、内部が配列になるってわかるけど、XMLには、そんな規定がない。
XMLのデータ構造をパーサに教えてあげないと駄目だ。