Replace \Update xmlNode,其中包含XML文档中提供的值 [英] Replace\Update the xmlNode with supplied value in XML document
问题描述
在XML文档中,我们根据xpath搜索xmlNodes,然后我们想要用提供的值完全替换 xmlNodes。
示例
OracleXmlType具有以下数据,Xpath设置为"/ RESUME / NAME"
<?xml version =" 1.0"?>
< RESUME>
< span style ="color:#3333ff"> < NAME> Name0< / NAME>
< NAME> Name1< / NAME>
< EXPERIENCE>
&NBSP;&NBSP;&NBSP; < YEARS> 0< / YEARS>
< / EXPERIENCE>
< / RESUME>
值我们想要替换为以下提供的字符串
< RESUME>
< NAME> Name0< / NAME>
< NAME> Name1< / NAME>
< / RESUME>
预期结果是
~~~~~~~~~~~~~~~
<?xml version =" ; 1.0"?>
< RESUME>
< RESUME>
< NAME> Name0< / NAME>
< NAME> Name1< / NAME>
< / RESUME>
< RESUME>
&NBSP; < NAME> Name0< / NAME>
< NAME> Name1< / NAME>
< / RESUME>
< EXPERIENCE>
&NBSP;&NBSP;&NBSP; < YEARS> 0< / YEARS>
< / EXPERIENCE>
< / RESUME>
请告诉我实现上述目标的有效方法使用.NET XML相关APIS的功能
以下是我用来查找xmlNodes的代码 取决于xpathExpr
但我不知道如何用提供的值替换整个xmlNode,尤其是当它具有嵌套的XML节点时,如
< RESUME>
< NAME> Name0< / NAME>
< NAME> Name1< / NAME>
< / RESUME>
static internal void Update(XmlDocument xmlDoc,string xpathExpr,string val)
{
XmlNodeList xmlNodes = null;
xmlNodes = xmlDoc.SelectNodes(xpathExpr);
if(xmlNodes!= null&& xmlNodes.Count> 0)
{
foreach(xmlNode中的xmlNode xmlNode)
{
// TODO:
//如何替换xmlNode 完全具有提供的价值?
}
}
}
In XML document we search the xmlNodes depending on xpath and then we want to replace the xmlNodes completely with the supplied value.
for Example
OracleXmlType has the below data and Xpath is set to "/RESUME/NAME"
<?xml version="1.0"?>
<RESUME>
<NAME>Name0</NAME>
<NAME>Name1</NAME>
<EXPERIENCE>
<YEARS>0</YEARS>
</EXPERIENCE>
</RESUME>
the value we want to replace as below which is supplied as string
<RESUME>
<NAME>Name0</NAME>
<NAME>Name1</NAME>
</RESUME>
the expected result is
~~~~~~~~~~~~~~~
<?xml version="1.0"?>
<RESUME>
<RESUME>
<NAME>Name0</NAME>
<NAME>Name1</NAME>
</RESUME>
<RESUME>
<NAME>Name0</NAME>
<NAME>Name1</NAME>
</RESUME>
<EXPERIENCE>
<YEARS>0</YEARS>
</EXPERIENCE>
</RESUME>
please tell me the efficient way to achieve the above functionality using the .NET XML related APIS
Below is the code i used to find the xmlNodes depending on xpathExpr
But I am not sure how to replace the whole xmlNode with supplied value especially when it has the nested XML nodes like
<RESUME>
<NAME>Name0</NAME>
<NAME>Name1</NAME>
</RESUME>static internal void Update(XmlDocument xmlDoc, string xpathExpr, string val)
{
XmlNodeList xmlNodes = null;
xmlNodes = xmlDoc.SelectNodes(xpathExpr);
if (xmlNodes != null && xmlNodes.Count > 0)
{
foreach (XmlNode xmlNode in xmlNodes)
{//TODO :
//how to replace the xmlNode completely with provided value ?
}
}
}
这篇关于Replace \Update xmlNode,其中包含XML文档中提供的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!