簡體   English   中英

從C#寫入xml

[英]Writing to xml from C#

我有一個關於使用C#編寫xml的問題。 我想要這種結構;

<directory_move>
   <folder_path>
      <source_path>...</source_path>
      ..
      ..
   </folder_path>
   <properties>
      <aaabbcc>....</aaabbcc>
      ..
      ..
   </properties>
</directory_move>

我做了很多嘗試,但無法獲得想要的東西。 您能給我個建議嗎?

這是我的代碼

        XElement element = new XElement("DIRECTORY_MOVE");

        foreach (string sourceDirName in listArray)
        {
            element.Add(new XElement("SOURCE_PATH", sourceDirName));
        }

        element.Add(new XElement("DESTINATION_PATH", destination));


        if (rdbtnDoLater)
        {
            element.Add(new XElement("RDBTNDOLATER", "checked"));
        }

        if (rdbtnDoImmediately)
        {
            element.Add(new XElement("RDBTNDOIMMEDIATELY", "checked"));
        }

        if (chkIsOverwrite)
        {
            element.Add(new XElement("CHKISOVERWRİTE", "checked"));
        }

        if (chkExitWhenFinish)
        {
            element.Add(new XElement("CHKEXITWHENFINISH", "checked"));
        }

        if (chkFolderQuestion)
        {
            element.Add(new XElement("CHKFOLDERQUESTION", "checked"));
        }

使用Linq到XML

XElement example =
    new XElement("directory_move",
        new XElement("folder_path",
            new XElement("source_path", "..."),
            new XElement("source_path", "...")
        ),
        new XElement("properties",
            new XElement("aaabbcc", ...)
        )
    );

example.WriteToFile(...)

編輯:代碼的問題是您要將所有內容添加到根元素,因此所有內容都是該根的子級。

正如我在示例中所做的那樣,您需要做的是重現層次結構。

XElement root = new XElement("DIRECTORY_MOVE");
XElement folderPath = new XElement("folder_path");

root.Add(folderPath)

foreach (string sourceDirName in listArray)
{
     folderPath.Add(new XElement("SOURCE_PATH", sourceDirName));
}

等等...

暫無
暫無

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

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