我有一个xml文件,Body.xml:
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<MyNumbers xmlns="http://google.com/">
<number1>1</number1>
<number2>1</number2>
<number3>1234</number3>
<number4>1</number5>
</MyNumbers>
</soap12:Body>
</soap12:Envelope>
我想以编程方式从数字列表中更改number3标签中的数字...。我怎样才能做到这一点?
谢谢!
MyNumbers中的默认名称空间已更改。因此,最简单的方法如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ConsoleApplication1
{
class Program
{
const string FILENAME = @"c:\temp\test.xml";
static void Main(string[] args)
{
XDocument doc = XDocument.Load(FILENAME);
XElement soap = doc.Root;
XElement number3 = doc.Descendants().Where(x => x.Name.LocalName == "number3").FirstOrDefault();
number3.SetValue(5678);
}
}
}