XML替换节点值
我正在尝试更新XML节点,虽然它不会生成错误,但不会更新值 xmlXML替换节点值,xml,tsql,Xml,Tsql,我正在尝试更新XML节点,虽然它不会生成错误,但不会更新值 xml <ParameterValues> <ParameterValue> <Name>TO</Name> <Value>test@test.com.au</Value> </ParameterValue> <ParameterValue> <Name>IncludeReport<
<ParameterValues>
<ParameterValue>
<Name>TO</Name>
<Value>test@test.com.au</Value>
</ParameterValue>
<ParameterValue>
<Name>IncludeReport</Name>
<Value>True</Value>
</ParameterValue>
<ParameterValue>
<Name>RenderFormat</Name>
<Value>MHTML</Value>
</ParameterValue>
<ParameterValue>
<Name>Subject</Name>
<Value>@ReportName was executed at @ExecutionTime</Value>
</ParameterValue>
<ParameterValue>
<Name>IncludeLink</Name>
<Value>True</Value>
</ParameterValue>
<ParameterValue>
<Name>Priority</Name>
<Value>NORMAL</Value>
</ParameterValue>
</ParameterValues>
到
test@test.com.au
包括报告
真的
渲染格式
MHTML
主题
@ReportName在@ExecutionTime执行
IncludeLink
真的
优先
正常的
更新字符串
test@test.com.au
)
set@input.modify((/ParameterValues/ParameterValue/Name/value/text())[1]的值替换为“D”。1234@EEEER.COM.AU“')至
set@input.modify((/ParameterValues/ParameterValue/Name/text())[1]的值替换为“D”。1234@EEEER.COM.AU“')
示例结果
<ParameterValues>
<ParameterValue>
<Name>D.1234@EEEER.COM.AU</Name>
<Value>d.brown@orrcon.com.au</Value>
</ParameterValue>
D1234@EEEER.COM.AU
Dbrown@orrcon.com.au
先生,您只需要更新。。。试试这个
$doc = new DOMDocument();
$doc->load( xml file name );
$doc->formatOutput = true;
$doc->getElementsByTagName("Value")->item(0)->nodeValue = $TheNewValue;
$doc->save("pathwheroverwritethefile");
我希望我能帮助。。。。我认为项上的数组值是错误的…在update语句中指定了一个额外的
名称
节点
请尝试替换第一个ParameterValue
节点的值
替换(/ParameterValues/ParameterValue/value/text())[1]的值
用“D”。1234@EEEER.COM.AU"
如果要确保只将ParameterValue
的值替换为Name
中的to
,则应在ParameterValue
节点上使用谓词
替换(/ParameterValues/ParameterValue[Name=“TO”]/value/text())[1]的值
用“D”。1234@EEEER.COM.AU"')
您到底尝试了什么?执行set
的语言或工具是什么?很抱歉,忘了提到我在哪里执行此操作。TSQL。我尝试的是:-set@input.modify('replace value of(/ParameterValues/ParameterValue/Name/value/text())[1]为“D”。1234@EEEER.COM.AU“')请将TSQL
添加到您的问题标签中,以便该领域的专家可以为您提供帮助。谢谢。我知道这很简单,但看不见森林。