2016-11-23 5 views
1

同じ名前の一部にアクセスする方法:私は何jQueryの - 複数のXMLEの子供、私は与えられた構造を(私はそれを変更することはできません)がありXMLEの文書を持っており、それはこのように書き

<index> 
<letter> 
<title>A</title> 
<mainTerm> 
    <title>Some description</title> 
    <code>Q87.1</code> 
</mainTerm> 
<mainTerm> 
    <title>Another Description</title> 
    <see>Some reference to other entries</see> 
</mainTerm> 
<mainTerm> 
    <title>Another term<nemod>(-some) (detail)</nemod></title> 
    <code>F44.4</code> 
</mainTerm> 
<mainTerm> 
    <title>A more detailed term</title> 
    <seeAlso>similar terms</seeAlso> 
    <term level="1"> 
    <title>acute</title> 
    <code>R10.0</code> 
    </term> 
    <term level="1"> 
    <title>angina</title> 
    <code>K55.1</code> 
    </term> 
</mainTerm> 
</letter> 
</index> 

jQueryを使用してこのファイルの内容にアクセスし、それを使ってテーブルを構築することです。

問題特定のノードに正しくアクセスできません。

$.ajax({ 
url: 'index.xml', // name of file you want to parse 
dataType: "xml", 
success: parse, 
error: function(){alert("Error: Something went wrong");} 
}); 

そして、ここでは、私はテーブルを構築するために使用しようとしていますスクリプトです:ここで

はxmlファイルにアクセスするためにjQueryのです

function parse(document){ 
$(document).find("letter").each(function(){ 

$code = ($(this).find('code').text()); 
$desc = ($(this)).find('mainTerm->title').text(); 

//Build table 
$("#content").append(
    '<table><tr><th>Code</th><th>Description</th></tr><tr><td> '+$code+' </td> <td> '+$desc+' </td></tr></table>' 
);     
}); 
} 

$コード変数の作品を、しかし、 $ descはそうではありません。どのようにしてノードのテキストにアクセスできますか? - > letter-> mainTerm-> title?ノートには「タイトル」という名前の別のノードがあります。これは必要ありません。

ご意見をお待ちしております。

$desc = $(this).find('mainTerm title').text(); 

それは、選択した項目のmainTerm要素内titleを選択:

+1

試してみましたか? '$ desc = $(this)).find( 'mainTerm title')。テキスト();' – winseybash

+0

ありがとう、@ウィンシーバッシュ、それは今woks!思ったよりも簡単でした! – Cucurigu

答えて

1

はこれを使用してください。

続きを読むelement selectionを読んでください。

+0

もう一度おねがいします、@winseybash!リンクをありがとう、それは非常に役立ちますが、複数のサブノードを持つ複雑なXMLファイルを解析/処理する方法を詳しく解説したチュートリアルを見つけるのは難しいです... – Cucurigu

+0

@Cucurigu XML要素の選択はHTML要素とまったく同じように、そのために多くのチュートリアルが必要です。 – winseybash

関連する問題

 関連する問題