【发布时间】:2013-08-10 02:17:00
【问题描述】:
我需要更改我的 configuration.xml 中的密码值。
以下用户需要修改密码:
- tsuer1
- github
- wtsntro
- wtsntrw 等等。
configuration.xml 文件格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<server xmlns="urn:jboss:domain:1.2">
<extensions>
<extension module="org.jboss.as.clustering.infinispan" />
<extension module="org.jboss.as.cmp" />
<extension module="org.jboss.as.ejb3" />
</extensions>
<system-properties>
<property name="SERVER" value="JBOSS" />
<property name="FTP_USER" value="adobenet\wtsntrw" />
<property name="FTP_PASSWORD" value="password value" />
<property name="FTP_READ_USER" value="adobenet\\wtsntro" />
<property name="FTP_READ_PASS" value="password value" />
<property name="API_SECRET_KEY" value="wxrocks" />
<property name="API_ENV" value="regular" />
<property name="PRERELEASE_PASSWORD" value="prerelease" />
<property name="watson.git_user" value="github" />
<property name="watson.git_pwd" value="password value" />
<property name="teststudio.user" value="tsuser1" />
<property name="teststudio.pwd" value="password value" />
</system-properties>
</server>
以下是我尝试但失败的代码:
XmlDocument doc = new XmlDocument();
string path = @"C:\Users\karansha\Desktop\configuration.xml"; // location of configuration.xml file.
doc.Load(path);
// Using foreach loop for specific Xmlnodes.
foreach (XmlNode selectNode in doc.SelectNodes("server/system-properties/property"))
{
if (selectNode.Attributes["name"].Value == "teststudio.pwd") // tsuser1
{
selectNode.Attributes["value"].Value = "new password"; // changes password value for "FTP_USER".
}
if (selectNode.Attributes["name"].Value == "watson.git_pwd") //github
{
selectNode.Attributes["value"].Value = "new passwordx"; // changes password value for "FTP_READ_USER".
}
if (selectNode.Attributes["name"].Value == "FTP_READ_PASS") // wtsntro
{
selectNode.Attributes["value"].Value = "new_passwordy"; // changes password value for "FTP_PASSWORD".
}
}
doc.Save(path); // Save changes.
Console.WriteLine("Password changed successfully");
Console.ReadLine();
【问题讨论】:
-
失败的原因是什么?
-
对,但我认为 doc.SelectNodes 有问题?
-
@Romoku :它没有给出任何错误消息,但仍然无法在 configuration.xml 文件中执行更改。
-
@AseemKamaal 调试它并找出原因。
-
@aevitas:我调试了它,发现我的代码无法进入 foreach 循环。 doc.SelectNodes 中似乎有些问题
标签: c#