Я пишу программу, и я пытаюсь захватить информацию из XML-файла, разбить его и сохранить информацию в 4-5 разных строках. Вот код, который я должен захватить XML-файл.Анализ XML-файла на строки в C#
private void getVersionXML()
{
sVersionConfigPath = sLocationKey + "Core\\config.xml"; //Path to XML File
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(sVersionConfigPath); //Load config.xml
XmlNodeList xmlNodes = xmlDoc.GetElementsByTagName("PrimaryDatabase");
foreach (XmlNode xmlNode in xmlNodes)
{
label1.Text = xmlNode.SelectSingleNode("database").InnerText; //Breaks Here
}
}
Вот как выглядит XML-файл.
<ProgXML>
<PrimaryDatabase Updating="N">
<Database Driver="SQL Server" Server="serverName" User="sa" Password="Iyp4kvRIS7Orl+NjkhIjvg==" Database="dbName" Owner="" Port="" UncBase="" ImpUser="" />
<DataExists Action="Reset" When="5/20/2015 3:17:36 PM" />
<TableCollection Name="Core" Who="CPUser" ProcessID="0" ProcessName="" Status="Complete" When="5/20/2015 3:17:47 PM" LayoutVersion="39" DataVersion="39" />
<TableCollection Name="Prog" Who="CPUser" ProcessID="0" ProcessName="" Status="Complete" When="5/20/2015 3:17:47 PM" LayoutVersion="38" DataVersion="38" />
</PrimaryDatabase>
</ProgXML>
По сути, я просто пытаюсь получить все, что показывает в <Database />
тег и сохранить его в виде строки (или в данном случае, просто печатать на этикетке для целей отладки).
Однако код сломается, где я прокомментировал выше, с помощью NullReferenceException
для «Ссылка на объект, не установленную в экземпляр объекта». И я не совсем уверен, где я ошибся. Любая помощь будет принята с благодарностью. Благодарю.
Точно, что я искал, насколько интересно, какие теги внутри тега были вызваны. Только проблема заключается в том, что вы не можете преобразовать строку в XMLAttribute, который вы должны вызвать '.Value' в конце строки. – Cistoran