[英]Xml search for a specific node and add child node c#
Hi guys we are working on a project at the school but i am stuck and need you guys help. 嗨,大家好,我们正在学校的一个项目,但我很困难,需要你帮助。
i have an xml file with user data: 我有一个包含用户数据的xml文件:
<Bruger>
<Spejder>
<Navn>Fatih</Navn>
<Efternavn>Karaman</Efternavn>
<Cpr>2</Cpr>
<Cprno>2</Cprno>
<Alder>12</Alder>
<Kontakt>44</Kontakt>
</Spejder>
<Spejder>
<Navn>Adel</Navn>
<Efternavn>Karaman</Efternavn>
<Cpr>1</Cpr>
<Cprno>2</Cprno>
<Alder>12</Alder>
<Kontakt>44</Kontakt>
</Spejder>
<Spejder>
<Navn>Max</Navn>
<Efternavn>Karaman</Efternavn>
<Cpr>3</Cpr>
<Cprno>2</Cprno>
<Alder>12</Alder>
<Kontakt>44</Kontakt>
</Spejder>
</Bruger>
when one user login to the application they should be able to join activities but when i program it and login with the last user no matter it makes a new child at the top of the xml. 当一个用户登录到应用程序时,他们应该能够加入活动,但是当我对其进行编程并使用最后一个用户登录时,无论它在xml的顶部创建一个新的孩子。
here is the code: 这是代码:
{
XmlDocument document = new XmlDocument();
document.Load(@"Spejder.xml");
{
XmlNodeList xnList = document.SelectNodes("Bruger/Spejder");
foreach (XmlNode xn in xnList)
{
string Navn = xn["Navn"].InnerText;
if (label15.Text == Navn)
{
XmlNode tilmeld = document.CreateElement("tilmeld");
tilmeld.InnerText = "new child";
XmlNode parentNode=document.SelectSingleNode("/Bruger/Spejder");
parentNode.InsertAfter(tilmeld, parentNode.LastChild);
document.Save(@"Spejder.xml");
}
}
}
}
I really appreciate for incoming helps :) 我非常感谢接受帮助:)
string inputName = "Fatih"; string inputName =“Fatih”;
XDocument doc = XDocument.Load("Spejder.xml");
foreach (var item in doc.Descendants("Spejder"))
{
var xElement = item.Element("Navn");
if (xElement != null)
{
string currentName = xElement.Value;
if (currentName == inputName)
{
var newChildelement = new XElement("tilmeld", "new child");
var subs = item.Element("tilmeld");
if (subs != null)
{
subs.Add(newChildelement);
}
else
{
XNode node = new XElement("tilmeld", newChildelement);
item.Add(node);
}
}
}
}
doc.Save("Spejder.xml");
find user. 找到用户。 if found then add a child element.
如果找到则添加子元素。
var user = document.SelectSingleNode("/Bruger/Spejder[Navn/text() = '" + label15.Text + "']")
if (null != user)
{
var register = document.CreateElement("tilmeld");
register.InnerText = "new child";
user.AppendChild(register);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.