【发布时间】:2020-08-24 08:25:56
【问题描述】:
我正在寻找一种方法来通过 XML 文档搜索“ID”标签中的特定 ID,然后找到下一个标签并将其值替换为“true”。 ID 将由 csv 文件的第一列提供。以下是 XML 结构的示例:
<primary>
<main>
<id>47</id>
<desc>foobar</desc>
<indicatorflag>false</indicatorflag>
</main>
</primary>
<primary>
<main>
<id>48</id>
<desc>foobar</desc>
<indicatorflag>false</indicatorflag>
</main>
</primary>
<primary>
<main>
<id>49</id>
<desc>foobar</desc>
<indicatorflag>false</indicatorflag>
</main>
</primary>
<primary>
<main>
<id>50</id>
<desc>foobar</desc>
<indicatorflag>false</indicatorflag>
</main>
</primary>
<primary>
<main>
<id>51</id>
<desc>foobar</desc>
<indicatorflag>false</indicatorflag>
</main>
</primary>
现在想象一下 csv 文件在第 1 列中有:
47
49
我只想将那些指示标志标记更新为 true。
任何帮助将不胜感激!
【问题讨论】:
-
为了清楚起见:当我说“下一个标签”时,我指的是下一个
标签。我尝试了正则表达式查找和替换,但它选择了整个文档中的最后一个 标记,而不是与定位 ID 相同的 标记中的那个标记 -
您的 XML 无效,因为它缺少根元素。此外,带有要查找的 id 的 csv 看起来像一个简单的文本文件,其中每个 id 都在一个新行上。这是文件的实际格式吗?
-
是的,正是这种格式
标签: xml powershell replace find