我有以下代码,其最后一行在每次执行时都会导致NotSupportedException,但我还没有找到解决方法。该假设的类似代码找到具有特定标题的“书”,目的是将其更新为新标题。它确实找到了正确的节点,但是无法更新它。
XPathDocument xpathDoc = new XPathDocument( fileName );
XPathNavigator nav = xpathDoc.CreateNavigator();
XPathNavigator node = nav.SelectSingleNode( @"//Book[Title='OldTitle']/Title" );
node.SetValue( "NewTitle" );
任何帮助将不胜感激。
最佳答案
由XPathNavigator
对象创建的XPathDocument
对象是只读的(请参阅MSDN: Remarks)
应该使用XmlDocument
创建它,以使其可编辑:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(fileName);
XPathNavigator nav = xmlDoc.CreateNavigator();
XPathNavigator node = nav.SelectSingleNode(@"//Book[Title='OldTitle']/Title");
node.SetValue("NewTitle");