簡體   English   中英

帶有主元素的 XML 附加節點

[英]XML append node with main element

大家好,我的 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>

使用XmlNode代替XmlElement

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);

您可以使用以下代碼創建動態 xml。

XElement xmldata = new XElement("ApplicantDetails",
           new XElement("ApplicantData", new XElement("Mobile", 1234567890)),
           new XElement("ApplicantData", new XElement("Mobile", 1234567801))
        );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM