【问题标题】:Powershell Add XmlElement As the first childPowershell 添加 XmlElement 作为第一个孩子
【发布时间】:2020-09-18 19:36:22
【问题描述】:

这是以下问题的变体:

PowerShell: How to add XmlElement to a non-root element

所以我将使用 OP 在该问题中使用的数据运行。给定以下 XML sn-p:

<clubs>
</clubs>

<clubs />

我要做的是添加第一个元素,以便生成的 XML 看起来像:

<clubs>
    <club name="barracas" rating="awesome" />
</clubs>

到目前为止,我已经尝试过:Append、InsertAfter(虽然我不是 100% 确定它是如何工作的)

$newNode = $xml.CreateElement("club")
$newNode.SetAttribute("name", "barracas");
$newnode.SetAttribute("rating", "awesome");
$xml.clubs.Append($newnode)
$xml.clubs.InsertAfter($newNode, $xml.clubs)

【问题讨论】:

    标签: powershell


    【解决方案1】:

    $xml.clubs 在这种情况下是一个字符串,而不是XmlNode。试试这个:

    $xml.FirstChild.AppendChild($newNode)
    

    当然,如果元素在树的下方,您最好使用SelectSingleNode() 方法

    【讨论】:

    • 嗯,这对我不起作用。我最终进行了搜索和替换,这似乎解决了我的问题。
    • 我不得不在另一个脚本上做类似的事情,结果证明这个确实起作用了。不幸的是,作为一个 PS 菜鸟,我承认当你第一次发布这个时我没有看到你的解决方案的智慧。干杯。
    猜你喜欢
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 2011-08-16
    • 1970-01-01
    相关资源
    最近更新 更多