簡體   English   中英

C#讀/寫XML文件

[英]C# Read/Write XML File

它應該很簡單,但我在將簡單的xml文件讀入字符串列表時遇到了麻煩。 示例xml文件如下:

<?xml version="1.0" encoding="utf-8" ?>
<directorylist>
    <dir>c:\TEST1\</dir>
    <dir>c:\TEST2\</dir>
</directorylist>

我想讀一個LIst。 你能推薦最好的讀/寫方式嗎?

日Thnx

using System.Xml.Linq;

var myList = from dir in myDocument.Descendants("dir")
             select dir;

這將為您提供XElement對象的列表。 如果你想要字符串,請使用select dir.Value;

string xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?>
                <directorylist>
                    <dir>c:\TEST1\</dir>
                    <dir>c:\TEST2\</dir>
                </directorylist>";

List<String> dirs = XElement.Parse(xml).Elements("dir")
                                       .Select(d => d.Value)
                                       .ToList();

您可以使用XElement.Load()直接從文件加載xml。

要提取字符串,您可以執行以下操作:

List<string> dirs = XDocument.Load("yourfile.xml")
                             .Root.Elements("dir")
                             .Select(element => element.Value).ToList();

要將字符串寫入新的XML文件,您可以執行以下操作:

string[] dirs = new[] {
    "c:\\TEST1\\",
    "c:\\TEST2\\"
};
new XDocument(
    new XElement("directorylist",
        dirs.Select(dir => new XElement("dir", dir)))
).Save("yourfile.xml");

嘗試使用LINQ to XML,因為它可以為您完成大部分繁重工作(假設您可以針對.NET 3或更高版本)。

XElement root = XElement.Load("XMLFile1.xml");
IEnumerable<string> dirs = from el in root.Elements("dir")  //was directorylist
             select el.Value;

暫無
暫無

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

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