![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
仕事でXMLを読み込むプログラム(java)を作っています。
<text>
<sentence>1行目</sentence>
<sentence>2行目</sentence>
</text>
例ですが、上記のXMLを自分で考え、それを読み込んで順番に表示するプログラムを作ったところ上司に
「XMLの仕様では、要素は記述された順番に読み込まれるとは限らないよ」
と言われましたが、これは本当ですか?
参考になるサイトや書籍があれば教えて下さい。よろしくお願いします。
XMLの仕様の日本語訳をざっと読みましたが、よく分かりませんでした。
更に、下記の記事を読んでみましたが、これもよく理解できませんでした。
http://www.ibm.com/developerworks/jp/xml/library …
No.2ベストアンサー
- 回答日時:
>「XMLの仕様では、要素は記述された順番に読み込まれるとは限らないよ」
本当です。
質問者様の参考サイトにも記述されていますが
XMLにはパーサーの読み込み順序の規定は何もありません。
従いまして、パーサーによって読み込まれたXML要素の順序性は保証されず、
使用するパーサーに完全に依存することになります。
ただ、読み込み時にわざわざ要素を入れ替えるというパーサーを今までに私は見たことがありません。
(そもそも読み込む順序をわざわざ入れ替える理由も無いですから)
ちなみにJavaならorg.w3c.domパッケージのElementクラスの
getElementsByTagNameメソッドなどは「文書順に返す」といった記述が見られますね。
(ただ、Nodeインターフェースのメソッドはそういった記述が見当たらないですけど)
>本当です。
>質問者様の参考サイトにも記述されていますが
>XMLにはパーサーの読み込み順序の規定は何もありません。
順序を入れ替えてもよいと書いてあるわけではないし
言語が違うとはいえ、XHTMLやHTMLの使われ方を事を考えると
ひょっとして何かの間違いでは?と思ってしまいましたが、本当だったんですね。
とても参考になりました、回答ありがとうございました。
No.1
- 回答日時:
>「XMLの仕様では、要素は記述された順番に読み込まれるとは限らないよ」
は
「XMLの仕様では、要素は記述される順序は設計どおりでは無いことがある」
では無いかと ・・・
たとえば
<!--- Sample1.xml -->
<test>
<myData>
<node1>Data1</node1>
<node2>Data2</node2>
</myData>
</text>
と
<!--- Sample2.xml -->
<test>
<myData>
<node2>Data2</node2>
<node1>Data1</node1>
</myData>
</text>
といった具合の2つのファイルが同じように処理できなければいけない事を指摘したかったのではないかと ・・・
回答ありがとうございます。
redfox63さんにご指摘いただいた内容の方が遙かに重要な事だと思います。
実は、上司の指摘をきっかけに
>「XMLの仕様では、要素は記述される順序は設計どおりでは無いことがある」
この点についても不安になり、プログラムを見直したところ不具合を発見した次第です。
分かってはいたつもりですが情けないかぎりです。
>「XMLの仕様では、要素は記述された順番に読み込まれるとは限らないよ」
については、書いたとおり本当かどうか知りたいのです。
もし本当なら、質問に書いたXMLを別のソフトで表示させた時
「2行目」「1行目」の順で表示された、なんて場合もある事になります。
現実にはない事だと思いますが・・・
プログラム作成の方は、既にこの問題を解消したXML設計に変更して対応しましたが
仕様について詳しく知りたいと思っておりますので、引き続きよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- アプリ Android studio 初心者 Hello Android!しか表示されない 1 2023/08/01 08:47
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- 文学・小説 小説はどこから書けばいいのでしょうか? 4 2023/04/06 10:49
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- USBメモリー・SDカード・フラッシュメモリー PDF文書をCD-Rで配るときの注意事項 4 2022/03/31 16:49
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
XMLのタグ名の禁則文字
XML
-
ノードの並び替え
XML
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
-
4
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
5
CRCが一致する確率
その他(プログラミング・Web制作)
-
6
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
7
bat 同名ファイルコピー時にリネームして保存したい
その他(開発・運用・管理)
-
8
visual studio でインデントを自動的に揃えるショートカットキー
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
値が無い場合のタグ出力
-
東芝のDynabookなのですがアン...
-
XMLの実体参照とXSLT
-
robots.txtの設置場所
-
XSLTの記述方法
-
TreeViewについて
-
VBAでxmlファイルの置換をしたい
-
XML文書の妥当性
-
XMLで主キーを自動的に入力する...
-
サイトマップの作り方。
-
[データ構造・アルゴリズム] B...
-
XML同じ名前の要素を自動で集約...
-
C言語のプログラムを教えてくだ...
-
index.rdf' の実行エラー
-
CPUの考え方を教えてください ...
-
【C#】TreeViewでクリックした...
-
VB2005でXMLデータから複数ある...
-
Global.asaxでクラスを宣言?
-
[C#]テキストボックスに入力し...
-
UTF-8でエンコーディングとはど...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XMLで要素が記述された順番に意...
-
Dreamweaver CS3 : シングルク...
-
値が無い場合のタグ出力
-
【XML】定義済み実体について
-
cでxmlを使いたい
-
東芝のDynabookなのですがアン...
-
CPUの考え方を教えてください ...
-
昔Winnyってありましたけど、あ...
-
SNMP リンクダウンとノードダ...
-
バッチファイルでテキストファ...
-
ルート要素ノードが2個ある場合?
-
UTF-8でエンコーディングとはど...
-
あるノードリストに、特定の名...
-
google croud にあるファイルを...
-
XML、XSLTの適応エラー(IEから...
-
XPathで途中に名前空間が設定さ...
-
VBSでxmlの値を書き換えたい
-
特殊記号が勝手にエスケープさ...
-
xmlファイルが上手にHTMLに変換...
-
同じタグ名の項目取得
おすすめ情報