
すいません。まったくXMLに関して無知です。
一応基本的な書き方についてWebで調べたのですが、どうしてもわからなかったので教えて頂ければと思います。
ある場所でのイベントの時間をXMLでまとめてプログラムで出力したいのですが、
<place>
<name>渋谷</name>
<monday>
<time>0</time>
<time>1</time>
<time>2</time>
</monday>
<tuesday>
<time>0</time>
<time>6</time>
<time>12</time>
</tuesday>
・・・
<sunday>
<time>12</time>
<time>13</time>
<time>14</time>
</sunday>
</place>
<place>
<name>新宿</name>
<monday>
<time>0</time>
<time>1</time>
<time>2</time>
</monday>
<tuesday>
<time>0</time>
<time>6</time>
<time>12</time>
</tuesday>
・・・
<sunday>
<time>12</time>
<time>13</time>
<time>14</time>
</sunday>
</place>
のような感じで、場所と曜日と時間の紐付けをしたいのですが、このような書き方でいいのでしょうか。
プログラムのほうできちんと読み込めないので質問してみました。
もちろんプログラムが間違っている可能性もあるのですが、<time>が先頭しか読まれないようなので、こういう”いくつかわからないけどデータがある”ような場合、XMLではどのように記述すれば良いかご教授願えますでしょうか。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
プログラムはSAXですか?DOMですか?
あるいはXSLTとか?
どんなプログラムなのか書かれていないのでわかりませんが
処理するのはプログラムなのでXMLに罪はありません。
XMLは単なるテキストですからそれ自身がどうこうということはありません。
そんなわけで
>こういう”いくつかわからないけどデータがある”ような場合、XMLではどのように記述すれば良いかご教授願えますでしょうか。
別に質問内容通りのXMLの書き方で特に問題は無いです。
(まぁ私なら
<place name="渋谷">
<time>0</time>
・
・
とか
<place>
<name>渋谷</name>
<event>
<time>0</time>
・
・
とかにしますけど。まぁこんなのは好みの問題です。)
ひとつしか取らないのなら、プログラムのロジックがひとつしか取らないようになっているんだと思います。
例えばDOMを使っているのならgetElementsByTagName("time")とかで
リスト形式で取れるはずです。
もちろん書き方は開発言語とかにもよって違ってきますけど。
おそらく渋谷は渋谷でtimeを取得したいでしょうし、
sundayはsundayで取得したいとかあると思います。
そんなわけでXQueryとか取れるメソッドを使って取ってくることも多いです。
ご回答ありがとうございます。
やはりXML的には問題ないということで^^
わからない単語がたくさん出てきたのでまた調べてみます。
なんかXMLってやさしく解説されているところでもいろいろな書き方があってやさしい解説を読みながらも?なところがたくさんあって敷居が高いです。
少しずつ学習していきたいと思います。
今回は、わけがわからないのでXMLではなく別な形式に変えてプログラムすることにします。
ありがとうございました。
No.1
- 回答日時:
書き方というか、XMLの概念としては間違っていませんが、
XMLは読み込むソフトによってフォーマットが変わってくるので、
これで合ってるかどうかというのは言えません。
現状ではあなた以外にはおそらく誰にもわかりません。
例えばInDesign用のXMLでしたら、
---------------------------
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><rss><group>
<list xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/" aid:table="table" aid:trows="4" aid:tcols="2">
<line aid:table="cell" aid:crows="1" aid:ccols="1">0001</line><line aid:table="cell" aid:crows="1" aid:ccols="1">192.168.1.10</line>
<line aid:table="cell" aid:crows="1" aid:ccols="1">0002</line><line aid:table="cell" aid:crows="1" aid:ccols="1">192.168.1.11</line>
<line aid:table="cell" aid:crows="1" aid:ccols="1">0003</line><line aid:table="cell" aid:crows="1" aid:ccols="1">192.168.1.12</line>
<line aid:table="cell" aid:crows="1" aid:ccols="1">0004</line><line aid:table="cell" aid:crows="1" aid:ccols="1">192.168.1.13</line>
</list>
</group></rss>
---------------------------
といったかんじになります。
なるほど、そうですか・・・
InDesignのをみると属性なんかも同じものが複数回設定されてますね。
そうするとプログラム側で同じタグの中身をどうやって取り出すか、ですね。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XMLを作成してもタグしか表示さ...
-
公文書のxmlファイルの開き方が...
-
ChatGPT excel
-
ExcelのVBAが特定のPC上でのみ...
-
XMLデータを変換し印刷する方法
-
MSFormsとは何ですか?
-
XMLサイトマップの登録方法がわ...
-
タモリさんを信じられますか?
-
自分のHTMLサイトでRSSを読み込...
-
ゲーミングPCに入っているAlris...
-
【BAT(バッチ)ファイル】Web...
-
XMLとは何ですか?
-
特殊文字の検索方法
-
フォルダー内検索
-
Webページに関するさまざまな情...
-
head要素
-
ヤフー知恵袋みたいなサイトを...
-
メールアドレスについて
-
マスターノード
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPのCookieが有るか無いかで、...
-
ブラウザ間でCookieを共有する...
-
ゲームノベルのような分岐のあ...
-
異なるドメインのサイトでcooki...
-
COleDateTime とtime_t
-
初回アクセス時のみ、注意を表...
-
クッキーを連想配列で扱う方法...
-
cookieにカンマ区切りでつめこ...
-
ログイン機能について
-
このサイトの二重投稿防止の方...
-
cURLでcookieを送受信する方法...
-
Cookieを設定しているかどうか...
-
クッキーのデータ取得
-
同一のwebサイトでクッキー情報...
-
連続アクセスで表示を変える。
-
インクルードファイルからのリ...
-
HPでメールアドレス取得
-
JavaScriptとcookieでページ振...
-
Yahoo!のログイン後のページの...
-
perl チャット リロード
おすすめ情報