2

XMLから引き出そうとすると、選択された子を取得できません-この場合、それは作成者です:

<book category="WEB">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>

選択した作成者を表示するJavaScriptスクリプトを取得できません。つまり、私がこれを行う場合。

txt=xmlDoc.getElementsByTagName("title")[2].childNodes[0].nodeValue;
document.write("<p>"+txt);

「JamesMcGovern」を取得します。だが

txt=xmlDoc.getElementsByTagName("title")[2].childNodes[1].nodeValue;
document.write("<p>"+txt);

「PerBothner」はくれません。どうすればこれを可能にできますか?

4

1 に答える 1

0

結果をどのように取得したのか疑問に思っていますが...childNodes配列には要素だけでなく、(とりわけ)テキストノード、つまり行区切り記号(CR/LF)も含まれています。したがって、配列を反復処理して、各エントリのノード タイプをチェックする必要があります。より良い選択は、xpath を使用して興味深い要素を選択することです。この記事を参考にしてください。

具体的には、ドキュメント順にノードを/book/author正確に選択します。author

于 2013-03-20T15:11:12.110 に答える