我需要能夠將XML數據添加到已經創建的父節點並將其放置在特定的父節點下。將XML數據添加到特定的父節點
有沒有人有最好的方法來做到這一點的任何建議?
我使用XMLWriter
來創建原始XML文件。
XmlDocument doc = new XmlDocument();
doc.Load(filePath);
for (int counter=0; counter<registeredEventCount; counter++)
{
try
{
XmlNode checkEvent = doc.SelectSingleNode("Event/Event[@id='" + registeredArrayList[counter] + "']");
if (checkEvent != null)
{
try
{
XmlNode checkDog = doc.SelectSingleNode("Event/Event[@id='" + registeredArrayList[counter] + "']/Dog[@id='" + ukcNumberArrayList[counter] + "']");
if (checkDog == null)
{
XmlElement newDogId = doc.CreateElement("Dog");
newDogId.SetAttribute("id", ukcNumberArrayList[counter].ToString());
XmlElement newDogName = doc.CreateElement("dogName");
newDogName.SetAttribute("id", dogNameArrayList[counter].ToString());
XmlElement newDogBreed = doc.CreateElement("breed");
newDogBreed.SetAttribute("id", breedArrayList[counter].ToString());
checkEvent.AppendChild(newDogId);
newDogId.AppendChild(newDogName);
newDogId.AppendChild(newDogBreed);
doc.Save(filePath);
}
else
{
MessageBox.Show("You have already registered this dog for this specific event");
}
}
請指定哪些實際上不起作用。你有checkDog,但你不使用它。是checkEvent真的!= null? – 2012-08-07 19:04:15
只是上面的代碼不起作用。忽略其餘。是的,我正在加載XML文件 – user1546315 2012-08-07 19:09:12
但現在你已經編輯了什麼是checkEvent,使問題更模糊。當你調試時,你看到新元素出現在checkEvent下面嗎? – 2012-08-07 19:12:40