我试图了解如何在同一XML中将time_limit.txt
的值转换为if [[ -r time_limit.txt ]]then;
{
echo "The command was NOT killed"
}
else
{
echo "The command was killed"
}
。
<element1>value</element1>
没有固定的位置,但如果存在,则需要填充<element16>value</element16>
的值。
我必须使用PowerShell。谁能帮帮忙?
这就是我所拥有的:
<element16>
这导致
异常设置“#text”:“在此对象上找不到属性'#text'”
Snipplet XML:
<element1>
应该成为:
$latest = Get-ChildItem -Path $dir |
Sort-Object LastAccessTime -Descending |
Select-Object -First 1
$latest.Fullname
$attachment = $latest.Fullname
$xml = New-Object Xml
$xml.Load($latest.Fullname)
$xml.SelectSingleNode('/order/sf_st_mail').InnerText =
$xml.SelectSingleNode('/order/sf_re_mail').InnerText
$xml.Save($latest.Fullname)
答案 0 :(得分:2)
加载XML:
$xml = New-Object Xml
$xml.Load($latest)
如果元素可以位于节点树中的任何位置,请使用XPath选择器:
$xml.SelectSingleNode('//sf_st_mail').InnerText =
$xml.SelectSingleNode('//sf_re_mail').InnerText
如果您知道树结构,请直接访问它们:
$xml.order.sf_st_mail = $xml.order.sf_re_mail # for simple text values
用嵌套的子节点替换复杂节点:
$xml.someNode.parentNode.ReplaceChild($xml.anotherNode.Clone(), $xml.someNode)
然后保存:
$xml.Save($latest)