我在 XML 文档中有类似于以下内容的内容:
<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 提取文档中的某些元素(例如根据索引号获取名称或值元素)。但是,我不了解这些索引是如何工作的(或任何索引可能被称为)。例如,查找 name[1] 给了我 ctrl_btn,但我会假设它是 name[0]。有人可以解释一下吗?
然而,我真正的问题是创建一个脚本来删除文档中的某些元素集合。例如,如果我想删除以下内容:
<variable>
<name>ctrl_snpt_calctrl</name>
<value>The date entered must be less than or equal to</value>
</variable>
我四处搜索,但大多数示例仅从 XML 中删除某个节点,而不是像上面那样删除整个组。
名称和值在 XML 文档中始终是唯一的(顺便说一下,在<variable></variable>
元素中包含超过 5000 个不同的名称/值组合。
我要删除的元素列表包含在一个仅列出名称值的文本文件中(例如,文本文档将列出 ctrl_btn,然后是 ctrl_snpt_calctrl)。
为了让您更好地了解,这是脚本执行的整个过程:
- 获取 XML 文档的内容
- 获取
<name></name>
文档中所有项目的元素之间的值 - 针对文件列表运行搜索以验证文件中是否使用了该名称。
- 如果未使用该名称,则将其写入一个文本文件(例如,not_found.txt)。
<variable></variable>
如果 ` 等于 not_found.txt 中的名称,则删除标签及其之间的所有内容。
我不确定上述过程是否有助于解释,但我认为我最好将其包括在内。
那么如何删除这些?