修改XML元素的值 [英] modify the value of an XML element
本文介绍了修改XML元素的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好,
我在c#编码,我有一个XML文件(Xdocument)myFile:
<输出>
&NBSP;<输出>
&NBSP; &NBSP;< ID> 1< / ID>
&NBSP; &NBSP;<名称>杰克< / name>
&NBSP; &NBSP;<工作> "导演" < / Job>
< / Output>
<输出>
&NBSP; &NBSP;< ID> 2< / ID>
&NBSP; &NBSP;<名称>乔治< / name>
&NBSP; &NBSP;<工作> "医生" < / Job>
< / Output>
&NBSP;<输出>
&NBSP; &NBSP;< ID> 3< / ID>
&NBSP; &NBSP;<名称> philipe< / name>
&NBSP; &NBSP;<工作> "教授" < / Job>
< / Output>
&NBSP;<输出>
&NBSP; &NBSP; &NBSP; .........
< /输出>
我想删除我搜索过代码的作业元素的引号(""),但我发现的代码是将一个值替换为另一个值?我去了我的xml文件将是
< Output>
&NBSP;<输出>
&NBSP; &NBSP;< ID> 1< / ID>
&NBSP; &NBSP;<名称>杰克< / name>
&NBSP; &NBSP;<工作>导演< / Job>
< / Output>
<输出>
&NBSP; &NBSP;< ID> 2< / ID>
&NBSP; &NBSP;<名称>乔治< / name>
&NBSP; &NBSP;<工作>医生< / Job>
< / Output>
&NBSP;<输出>
&NBSP; &NBSP;< ID> 3< / ID>
&NBSP; &NBSP;<名称> philipe< / name>
&NBSP; &NBSP;<工作>教授< /工作>
< / Output>
&NBSP;<输出>
&NBSP; &NBSP; &NBSP; .........
< /输出>
我的代码:
var xmlFile = new XDocument.load(path);
var output = xmlFile
.Element(" Output")
。元素(" Output")
.where(e => e.Element(" Id")。value ==" 1")
。单();
Output.Element(" Job")。Value =" director" ;;
xmlfile.Save(路径);
//我必须为所有节点重复此代码
解决方案
试试这个:
xmlFile
.Descendants(" Job")
.ToList()
.ForEach(j => j.Value = j.Value.Trim('','"'));
Hello,
i code in c# and i I have an XML file (Xdocument) myFile:
<Output> <Output> <ID> 1 </ ID> <Name> jack </ name> <Job> "director" </ Job> </ Output> <Output> <ID> 2 </ ID> <Name> george </ name> <Job> "doctor" </ Job> </ Output> <Output> <ID> 3 </ ID> <Name> philipe </ name> <Job> "prof" </ Job> </ Output> <Output> ......... </ Output>
I want to delete the quotes("")of the element Job I have searched for code but the code I found is to replace a value of one attrebut with another? that i went my xml file will be
<Output> <Output> <ID> 1 </ ID> <Name> jack </ name> <Job> director</ Job> </ Output> <Output> <ID> 2 </ ID> <Name> george </ name> <Job> doctor </ Job> </ Output> <Output> <ID> 3 </ ID> <Name> philipe </ name> <Job> prof</ Job> </ Output> <Output> ......... </ Output>
my code :
var xmlFile=new XDocument.load(path); var output = xmlFile .Element("Output") .Elements("Output") .where(e=>e.Element("Id").value =="1") .Single(); Output.Element("Job").Value="director"; xmlfile.Save(path);
// and I have to repeat this code for all the nodes
解决方案
Try this:
xmlFile .Descendants( "Job" ) .ToList() .ForEach( j => j.Value = j.Value.Trim( ' ', '"' ) );
这篇关于修改XML元素的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文