使用SelectSingleNode()修改xml文件??
Maxu 2003-07-27 05:54:24 private bool SetOptionValue(string userId, string groupId, string optionName, string optionValue)
{
XmlDocument xd = new XmlDocument();
xd.Load("..\\..\\UserOptions.xml");
XmlNode root = xd.DocumentElement;
string p = String.Format("/UserOption[@UserId='{0}']/OptionsGroup[@GroupId='{1}']/Option[@Name='{2}']", userId, groupId, optionName);
XmlNode o = root.SelectSingleNode(p);
o.Attributes["Value"].Value = optionValue;
xd.Save(Console.Out);
return true;
}
调用SetOptionValue"c", "1", "distance", "100")时出错?
root.SelectSingleNode(p)返回空值。为什么?!!
///文件:“..\\..\\UserOptions.xml”
<?xml version="1.0" encoding="utf-8" ?>
<UserOptions xmlns="http://tempuri.org/UserOptions.xsd">
<UserOption UserId="a">
<OptionsGroup GroupId="2">
<Option Name="zoo" Value="12"></Option>
<Option Name="distance" Value="0.5"></Option>
</OptionsGroup>
<OptionsGroup GroupId="1">
<Option Name="zoom" Value="1101"></Option>
<Option Name="distance" Value="0.5"></Option>
</OptionsGroup>
</UserOption>
<UserOption UserId="b">
<OptionsGroup GroupId="1">
<Option Name="zoom" Value="100"></Option>
<Option Name="distance" Value="1"></Option>
</OptionsGroup>
</UserOption>
<UserOption UserId="c">
<OptionsGroup GroupId="1">
<Option Name="zoom" Value="100"></Option>
<Option Name="distance" Value="200"></Option>
</OptionsGroup>
</UserOption>
</UserOptions>