我可以通过哪些方式根据 C#2.0 中的 ID 更新单个节点



下面的代码在服务器上不起作用。我正在尝试根据id更新子节点。代码如下。

此代码在本地工作正常,但在服务器上不起作用。如果我在下面的代码中做错了,请告诉我。

for (int i = 0; i < DateData.Length - 1; i++)
{
XmlDocument xmlDoc = new XmlDocument();
string filepathsUpdate = Server.MapPath("Contact.xml");
xmlDoc.Load(filepathsUpdate);
XmlNode node = xmlDoc.SelectSingleNode("/CATALOG/CD[ID=" + DateData[i] + "]/Status");
node.InnerText = "Request Completed";
xmlDoc.Save(filepathsUpdate);
}

我可以通过任何其他方式根据id更新状态节点.此代码适用于C#2.0,这是框架2.0...在net中。

我想是这个

XmlNode node = xmlDoc.SelectSingleNode("/CATALOG/CD[ID=" + DateData[i] + "]/Status");

也许应该是这个

var xpath = String.Format(@"/CATALOG/CD[ID=""{0}""]/Status", DateData[i]);
XmlNode node = xmlDoc.SelectSingleNode(xpath);

甚至可能这样,具体取决于DateData的数据类型.

var xpath = String.Format(@"/CATALOG/CD[ID=""{0}""]/Status", DateData[i].ToString("SOME_OBSCURE_FORMAT_STRING"));
XmlNode node = xmlDoc.SelectSingleNode(xpath);

最新更新