プロが教える店舗&オフィスのセキュリティ対策術

xmlファイルを読み込んで

書籍1:
Title:ハリーポッター


書籍2:
Title:広辞苑


書籍3:


のように表示させるJavaScriptのプログラム(拡張子はhtml)を作りたいのですが、上手く行きません。大至急教えて頂けないでしょうか?!本当に困ってます・・・

///////////作りかけのJavaScriptプログラム////////
<HTML>

<script>
xmldoc=new ActiveXObject("Microsoft.XMLDOM");
xmldoc.load("Books.xml");

var str="";
var i=0,j=0,imax=0;

imax = xmldoc.documentElement.childNodes.length;
var Titles = xmldoc.documentElement.getElementsByTagName("Title");
var Authors = xmldoc.documentElement.getElementsByTagName("Author");
var Prices = xmldoc.documentElement.getElementsByTagName("Price");
for(var i=0;i< imax;i++){
str=str+xmldoc.documentElement.childNodes.item(i).text+"<BR />";
document.writeln(str);
}
</script>
<body>
</body>
</HTML>
///////////作りかけのJavaScriptプログラム////////

////////////Books.xml//////////////
<?xml version="1.0" encoding="SHIFT_JIS" ?>
<?xml-stylesheet type="text/xsl" href="kadai3.xsl" ?>

<Books>
<Book>
<Title>ハリーポッター</Title>
<Author>j.kローリング</Author>
<Price>3800</Price>
</Book>

<Book>
<Title>広辞苑</Title>
<Author>鈴木太郎</Author>
<Price>6800</Price>
</Book>

<Book>
<Title>魚の図鑑</Title>
<Author>田中雅夫</Author>
<Price>4500</Price>
</Book>

</Books>
////////////Books.xml//////////////

A 回答 (1件)

プログラムの流れとして、



1. 要素 Book の一覧を取得
2. Book 毎に繰り返し処理
2.a. 要素 Title を一つだけ読み取り
2.b. 要素 Author を一つだけ読み取り
2.c. 要素 Price を一つだけ読み取り
2.d. a-c の text を元に、表示用文言を編集
2.e. HTML 内に文言を出力

ここで

1) var books = xmldoc.documentElement.getElementsByTagName('Book');
2) for(i=0; i<books.length; i++) { var book = books.item(i); /*...*/ }

とするならば

2.a) var title = book.getElementsByTagName('Title').item(0).text;
2.d) var str = "書籍" + i + " Title:" + title + /*...*/;

で望みの結果が得られるでしょう

この回答への補足

もう少し説明を細かくすると以下のように表示させたいです。

書籍1:
Title:ハリーポッター
Author:J.Kローリング
Price:3800

書籍2:
Title:~
Author:~
Price:~

書籍3:
Title:~
Author:~
Price:~

もう今日の16:10分に提出なのですが、昨日何時間も掛けて必死に取り組んだにも関わらず全然思ったとおりの出力に至りませんでした。もう本当に泣きたいぐらい悲しいです。一体何時間も掛けて何をやってたんだろうかと・・・
どうかお優しい方回答よろしくお願い致します。

補足日時:2013/11/01 13:46
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!