大家好我的XML如下
<?xml version="1.0" encoding="utf-8"?>
<ApplicantDetails>
</ApplicantDetails>
我基于少量搜索动态添加节点,如下所示
XmlDocument xDoc = new XmlDocument();
xDoc.Load(path);
XmlElement root = xDoc.DocumentElement;
XmlElement elem = null;
XmlElement e = xDoc.CreateElement("ApplicantData");
e.InnerText = string.Empty;
root.AppendChild(e);
xDoc.Save(path);
elem = xDoc.CreateElement("Mobile");
elem.InnerText = txtMobile.Text;
XmlNode node = root.SelectSingleNode("ApplicantData");
node.AppendChild(elem);
xDoc.Save(path);
这给我的XML如下
<?xml version="1.0" encoding="utf-8"?>
<ApplicantDetails>
<ApplicantData>
<Mobile>1234567890</Mobile>
</ApplicantData>
</ApplicantDetails>
现在我想添加一个新节点,如下所示
<ApplicantData>
<Mobile>1000000</Mobile>
</ApplicantData>
但是根据我编写的代码,它附加如下
<?xml version="1.0" encoding="utf-8"?>
<ApplicantDetails>
<ApplicantData>
<Mobile>1234567890</Mobile>
<Aadhar>
</Aadhar>
<Mobile>1234567801</Mobile>
</ApplicantData>
<ApplicantData>
</ApplicantData>
</ApplicantDetails>
答案 0 :(得分:1)
而不是XmlElement
使用XmlNode
XmlNode ApplicantData = xDoc.CreateElement("ApplicantData");
XmlNode elem = null;
XmlNode e = xDoc.CreateElement("ApplicantData");
e.InnerText = string.Empty;
elem = xDoc.CreateElement("Mobile");
elem.InnerText = txtMobile.Text;
ApplicantData.AppendChild(elem);
xDoc.DocumentElement.AppendChild(ApplicantData);
xDoc.Save(path);
答案 1 :(得分:0)
您可以使用以下代码创建动态xml。
XElement xmldata = new XElement("ApplicantDetails",
new XElement("ApplicantData", new XElement("Mobile", 1234567890)),
new XElement("ApplicantData", new XElement("Mobile", 1234567801))
);