您好我正在尝试读取xml字符串并尝试将旧值替换为新值..但现在不知道如何执行此操作...因为它是只读的。注意:我不想使用STRING.REPLACE,因为这可能会以其他方式使用,例如添加其他元素。
string oldValue = "<?xml version=\"1.0\" encoding=\"utf-16\"?><string>Hi This is old values</string>";
string newValue = "<?xml version=\"1.0\" encoding=\"utf-16\"?><string>Hi I am the new values</string>";
以下是我想要做的事情:
private string WriteXmlValue()
{
string currentXml = "<?xml version=\"1.0\" encoding=\"utf-16\"?><string>Hi This is old values</string>";
string newValue = "Hi I am the new values";
string newXmlstring = string.empty;
using (XmlReader xmlReader = XmlReader.Create(new StringReader(currentXml)))
{
while (xmlReader.Read())
{
switch (xmlReader.NodeType)
{
case XmlNodeType.Text:
//TODO Replace xmlReader.Value to newValue??
xmlReader.Value = newValue; //Erroring read only .. How do i modify value??
newXmlstring = xmlReader.value;
break;
}
}
}
return newXmlstring;
}
然后我尝试返回这个新的xmlstring。
答案 0 :(得分:2)
如果您使用的是.net版本3.5,那么要使用XML数据,最好是用户LINQ to XML。
http://www.codeproject.com/Articles/24376/LINQ-to-XML
或强>