현재 사용자가 업데이트 한 목록보기가 포함 된 Windows 양식 응용 프로그램이 있습니다. 목록보기가 업데이트되면 항목에 대한 XML도 채워지고 만들어지고 저장 요청이 전송 될 때까지 숨겨진 텍스트 상자에 저장됩니다.NullReferenceException XML을 업데이트하려고 시도 할 때 C#
저장 요청이 전송되면 외부 구성 파일에 기록하여 지정된 속성을 업데이트하는 함수를 호출합니다.
나는 7 설정을 업데이트하고있어 총에서,하지만 난 값을 볼 수있는 시계를 추가했다
//The values I'm passing in are the path to my config file, the setting I am updating (in this case would be RequiredDocuments), and the string value to update.
public static void UpdateConfigFiles(string p_sPath, string p_sSettingName, string p_sValue)
{
bool blnApplyChanges = false;
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlDoc.Load(p_sPath);
int iCurrentNode = 0;
for (iCurrentNode = 0; iCurrentNode <= xmlDoc.ChildNodes[1]["applicationSettings"].ChildNodes[0].ChildNodes.Count - 1; iCurrentNode++)
if (xmlDoc.ChildNodes[1]["applicationSettings"].ChildNodes[0].ChildNodes[iCurrentNode].Attributes[0].Value.ToString().ToUpper() == p_sSettingName.ToUpper())
{
//This line is where the exception occurs
xmlDoc.ChildNodes[1]["applicationSettings"].ChildNodes[0].ChildNodes[iCurrentNode].ChildNodes[0].InnerText = p_sValue;
blnApplyChanges = true;
}
if (blnApplyChanges)
{
xmlDoc.Save(p_sPath);
FixBlankXMLValues(p_sPath);
}
}
는 XML을 목록보기를 업데이트하고 저장하려고하면 NullReferenceException이 실패있는 유일한 사람입니다 모든 다른 노드 중 아직 null 값이 나오지 않았으므로 XML을 구조화 한 방식에 문제가 있는지 궁금합니다. 처음에는 ListView를 리바 인딩 할 때 전달 된 값을 지우고 있다고 생각했지만 그럴 수는 없습니다.
Here은 수정 된 정보가있는 XML의 샘플 구조입니다.
속담에 대한 대답을 읽고 더 이상 혼동하지 마십시오. – Will
@ 왜 이런 일이 일어나고 있으며 NullReferenceException ~가 ~입니다. 그러나이 질문은 XML에만 해당되며이 질문을 중복으로 표시하는 것은별로 도움이되지 않습니다. 이전에 그 답변을 이전에 참조한 적이 있습니다. 어쨌든 그것을 게시 해 주셔서 감사합니다. – confusedandamused
귀하의 질문에 아무것도 (1) 당신이 이것을 디버깅했는지, 2) 당신이 어떤 코드가 NRE를 던지고 있는지, 3) 예외를 고칠 수 없는지를 나타냅니다. 중복 질문은 1과 2를 통해 안내합니다. 3 번으로 도움을 요청하기 전에 정말로해야합니다. 1, 2, 3을 포함하도록 [편집] 할 수 있다면, @ me와 기꺼이 다시 열어 드리겠습니다. – Will