我有以下XML結構:通過指數與jquery刪除XML節點和寫回文件
<?xml version="1.0" encoding="utf-8" ?>
<nws>
<url>http://cpa.hypotheses.org/feed</url>
<url>http://news.ycombinator.com/rss</url>
<url>http://rss.slashdot.org/Slashdot/slashdot</url>
<url>http://feeds.feedburner.com/hackaday/LgoM</url>
</nws>
...等等。
我想刪除第n個元素。而已。我見過的所有示例都涉及使用xmatch搜索節點內容,而我無法搜索它,因爲1 - 它是一個複雜的字符串,2 - 我真的不知道要刪除的字符串,但我知道索引。
我可以讀這樣的所有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 />");
});
,但我似乎不能說「只輸出第二個」,更不用說將其刪除。
還有一件事。我知道,一旦我操縱XML DOM我有使用
echo $urlFile->asXML('myfile.xml');
把它寫回文件,但這個過程是在某種程度上模糊(到什麼類沒有這種「asXML」方法屬於哪一種?它甚至可用這個上下文嗎?我必須加載另一個庫,而不僅僅是jquery.js嗎?) 我迷失在這個過程中的某個地方;有人可以張貼整個過程的概要嗎?即
- 讀取文件
- 發現,說第二個節點由節點(不其內容或屬性)的名字
- 刪除
- 寫回的經修改的表示DOM到文件
(理想情況下,我希望能夠在寫回文件之前做一些檢查,如空行,等等)
即使這個例子不起作用,我只是想圍繞這個概念來包裹我的頭。
OK我放棄了jQuery和製造用SimpleXML(隨叫隨到代碼)的一切;感謝大家 ! – yPhil 2011-12-17 20:49:50
..現在我想弄清楚爲什麼我不能在PHP DOMDocument對象上調用firstChild(所有其他方法似乎都可行,但insertBedore和firstChild都不工作,它們都默默失敗 - (WFT?createElement和appendChild工作)我也想知道在哪裏可以捕獲任何DOM錯誤(我在firebug中看不到任何內容)但是我想你們也不知道這一點。 – yPhil 2011-12-18 18:35:34