2011-12-17 7 views
2

をファイルに書き戻す、私は次のXML構造を有しています。はjQueryを使ってインデックスでXMLノードを削除&

n番目の要素を削除したいと考えています。それでおしまい。私が見たすべての例では、xmatchを使ってノードのコンテンツを検索していますが、それは複雑な文字列であり、実際には削除したい文字列がわからないので検索できません。

は、私はこのようなすべてのURLノードを読むことができます:

$.ajax({ 
type: 'GET', 
url: 'conf.xml', 
dataType: 'xml', 
success: parseXml 
}); 


$(xml).find("url").each(function() { 
    $("#output").append($(this).text()); 
    // $("#output").append(": " + $(this).find("Title").text() + "<br />"); 
}); 

しかし、私は、「出力のみ秒1」と言う、ましてやそれを削除するように見えることはできません。

もう1つ。私は何のクラスに、この「asXML」方法は?に属しない(私はXML DOMを操作したら、私は

echo $urlFile->asXML('myfile.xml'); 

を使用してバックファイルにそれを記述する必要があります。しかし、プロセスが何らかの形であいまいであることを理解することで、それも利用可能ですこのコンテキスト?jquery.js以外のライブラリをロードする必要がありますか?) プロセスのどこかで失われています。誰かが全体のプロセスの概要を投稿してもらえますか?すなわち

  1. は、
  2. バックの修正表現書く
  3. はそれを削除したノード(ないその内容または属性)の名前で、第2ノードを言う
  4. 検索ファイルを読みますDOMをファイルに返す

(理想的には、空の行のようにファイルに書き戻す前にいくつかのチェックを行うことができますが、など)

例が機能していなくても、私は概念の周りを頭で囲みたいだけです。

答えて

0

OK、私はPBの半分を解決:私は今、そのインデックスを使用してn番目のノードを削除することができ、このように:

$(document).ready(function() { 

    $.ajax({ 
    type: 'GET', 
    url: 'conf.xml', 
    dataType: 'xml', 
    success: parseXml 
    }); 

    function parseXml(xml) { 
    $(xml).find("url").eq(3).remove(); // <= The answer I was looking for 

    $(xml).find("url").each(function(index) { 
     $("#output").append($(this).text()); 
    }); 
    } 
}); 

これが第三の要素なしで私のリストを出力します。 (DOMオブジェクトとしてではありません)。それでも、Wohoo!

これで、ファイルに戻すにはどうすればphp varの(DOMオブジェクトとして)戻すことができますか?または、おそらくajaxを使用して?私はajaxからファイルを読むことができますが、それに書き込むことはできません、私はそれを行う方法を知らない、これまで誰も正しい方向に私を指すことができますか? (実際ファイルにJS処理XMLを保存?)

よろしく、-Ph OK

+0

私はjqueryのを落とし、SimpleXMLは(オンデマンドで利用可能なコード)ですべてのものを作っ。みんな、ありがとう ! – yPhil

+0

..そして、私はPHPのDOMDocumentオブジェクトでfirstChildを呼び出せない理由を理解しようとしています(他のすべてのメソッドは動作するようですが、insertBedoreもfirstChildも動作しません。 appendChildの仕事)私はまた、DOMエラーをキャッチする場所を知りたいと思います(私は火かき棒で何も見ることはできません。どんなタブでも)。しかし、あなたはどちらもそれを知らないと思います。 – yPhil