更新XML webconfig文件时保留多个双引号

更新XML webconfig文件时保留多个双引号,xml,powershell,double-quotes,Xml,Powershell,Double Quotes,我需要更新XML文件的网络主机部分。您将从下面的示例中看到,四个部分是双引号。我发现在我的PowerShell脚本中很难使用双引号进行更新。我已经阅读了WWW和StackOverflow上的一些帖子,寻找解决方案。我将当前代码中的行和输出包含在xml中。欢迎在这方面提供任何帮助 在运行PowerShell后,以XML显示所需结果 PowerShell代码 $root.SelectSingleNode(//system.net/mailSettings/smtp/network”).hos

我需要更新XML文件的
网络主机
部分。您将从下面的示例中看到,四个部分是双引号。我发现在我的PowerShell脚本中很难使用双引号进行更新。我已经阅读了WWW和StackOverflow上的一些帖子,寻找解决方案。我将当前代码中的行和输出包含在xml中。欢迎在这方面提供任何帮助

在运行PowerShell后,以XML显示所需结果


PowerShell代码

$root.SelectSingleNode(//system.net/mailSettings/smtp/network”).host=“`mailtrap.io`”端口=`“1234`”用户名=`“3987455k61f63dd421`”密码=`“d6jjjcfc2bf76889`”
代码运行后的实际XML输出(注意
而不是
):


您误解了XML的结构。这里没有
网络主机
节点,而是一个具有4个属性的
网络
节点:

  • 主机
  • 端口
  • 用户名
  • 密码
您需要分别为每个属性指定值:

$node=$root.SelectSingleNode(“//system.net/mailSettings/smtp/network”)
$node.host='mailtrap.io'
$node.port='1234'
$node.userName='3987455k61f63dd421'
$node.password='d6jjjcfc2bf76889'
如果属性尚未出现在节点中,则可以按如下方式创建它们:

$attr=$root.CreateAttribute('host'))
$attr.Value='mailtrap.io'
$node.Attributes.Append($attr)

您的问题模棱两可,请输入您的powershell代码,我们将尽力帮助您。您好,Turican。对不起,迟了答复。我不知道我的帖子里有什么模棱两可的地方,但是谢谢你的帮助。安斯加。明天早上我会试试你的建议。谢谢您的代码。@user2987451您的问题实际上并不含糊不清,但由于格式不正确(隐藏了部分代码),问题看起来是这样的。