簡體   English   中英

在xml文件中建立元素

[英]Create element in xml document

我開發了一個示例應用程序來創建xml文檔,並且已經創建了xml文檔並保存了xml。 該應用程序仍在運行,但是我刪除了該xml,現在嘗試使用appln.xml創建新的xml。我遇到了“此文檔已具有'documentelement'節點”的問題。

if (File.Exists(AppPath) == false)
{
    root = doc.CreateElement("LicenseDetails");

    rootnode = doc.CreateElement("License");
    Login = doc.CreateElement("Login_Name");
    Login.InnerText = "KSC";
    rootnode.AppendChild(Login);
    root.AppendChild(rootnode);
    doc.AppendChild(root);
    doc.Save(AppPath);
 }

我可以很容易地在現有xml中附加一個節點,如果我的xml被刪除,應用程序必須使用相同的標簽創建一個新的xml,

問題是即使刪除XML,您使用的doc元素也與以前相同。 因此,當您嘗試將根元素添加到doc元素時,將引發異常。 可能的解決方案如下:

例如:

 XmlDocument doc;
 XmlElement root;
 XmlElement rootnode;
 XmlElement Login;

 if (File.Exists(@"C:\Test.xml") == false)
 {
     doc = new XmlDocument();
     root = doc.CreateElement("LicenseDetails");

     rootnode = doc.CreateElement("License");
     Login = doc.CreateElement("Login_Name");
     Login.InnerText = "KSC";
     rootnode.AppendChild(Login);
     root.AppendChild(rootnode);
     doc.AppendChild(root);

     doc.Save(@"C:\Test.xml");
 }

因此,當您再次進入該程序塊時,它將毫無問題地執行。

使用DocumentElement屬性-返回Xml文檔的根元素。

    XmlDocument dom=new XmlDocument();
    dom.Load("file.xml");
    XmlElement ele1=dom.createElement("A");
    XmlElement ele2=dom.createElement("B");
    ele1.AppendChild(ele2);
    dom.DocumentElement.AppendChild(ele1);
    dom.Save("file.xml");

暫無
暫無

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

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