刪除一組XML元素我也有類似的XML文檔在下面的內容:使用PowerShell
<variables>
<variable>
<name>ctrl_btn</name>
<value>button</value>
</variable>
<variable>
<name>ctrl_snpt_calctrl</name>
<value>The date entered must be less than or equal to</value>
</variable>
</variables>
我可以使用PowerShell文檔中拉出來的某些元素(如抓名稱或基於索引號的值元素)。但是,我並不關注這些指數如何工作(或者不管指數是什麼)。例如,查找名稱[1]給我ctrl_btn,但我會認爲這將是名[0]。有人可以解釋嗎?
我的真正的問題,但是,是創建一個腳本,刪除文檔中的元素的某些集合。例如,如果我想刪除以下內容:
<variable>
<name>ctrl_snpt_calctrl</name>
<value>The date entered must be less than or equal to</value>
</variable>
我已經四處搜尋,但大多數的例子只是從XML刪除某個節點,而不是一整羣的上方。
的名稱和值始終是XML文檔(其中,順便說一句,包含了超過5000種不同的名稱/值連擊在<variable></variable>
元素中是唯一的。
我想刪除都包含在元素的列表。僅列出姓名值的文本文件(例如,文本文件將列出ctrl_btn然後ctrl_snpt_calctrl)
爲了讓您更好的瞭解,這裏的整個過程中,該腳本的作用:
- 獲取XML的內容cument
- 獲取文檔中所有項目的
<name></name>
元素之間的值 - 對文件列表運行搜索以驗證文件中是否使用了該名稱。
- 如果未使用的名稱,它被寫入的文本文件(例如,not_found.txt)。
- 刪除
<variable></variable>
標籤以及它們之間的所有內容,如果``等於在not_found.txt中找到的名稱。
我不確定上述過程是否有助於解釋,但我認爲我最好包括它。
那麼,你如何刪除這些?
我該如何在通過數百個列表循環的foreach循環中工作? – EustaceMonk
將更新答案。 – dugas
這工作完美!我也學會了保存它,我只需要使用下面的代碼:'$ xml.Save(「filepath」)'。謝謝! – EustaceMonk