根级别的数据无效.写的时候,第一行,第一个位置

本文关键字:一行 位置 第一个 数据 无效 | 更新日期: 2023-09-27 17:51:12

这是我为xml添加数据的代码:

IsolatedStorageFile isstore = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream bookfile = new IsolatedStorageFileStream("People.xml", System.IO.FileMode.Open, isstore);
XDocument xmldetails = XDocument.Load(bookfile);
XElement books =
    new XElement("person",
    new XAttribute("id", "5"),
    new XAttribute("name", "Book Title"),
    new XAttribute("beneficiary", "Book Author"),
    new XAttribute("description", "Book Author"),
    new XAttribute("deadline", "Book Author"),
    new XAttribute("price", "Fiction"));
xmldetails.Root.Add(books);
xmldetails.Save(bookfile);
bookfile.Close();

This is People.xml:

<?xml version="1.0" encoding="utf-8" ?>
<people>
    <person index="1" name="Zlecenie numer jeden" beneficiary="Kowalski" description="Proste zlecenie jakiejs strony czy cos" price="800" deadline="27.12.2013" />
</people>

当我点击按钮时,我有这个错误:

根级数据无效。第一行,位置1

根级别的数据无效.写的时候,第一行,第一个位置

看来您的XML文件可能缺少根节点,而您正在尝试将子节点添加到不存在的父节点。请确保您的源XML格式良好。

顺便说一下,在你的代码中,你应该这样做:
XElement books =
            new XElement("person",
            new XAttribute("id", "5"),
            new XAttribute("name", "Book Title"),
            new XAttribute("beneficiary", "Book Author"),
            new XAttribute("description", "Book Author"),
            new XAttribute("deadline", "Book Author"),
            new XAttribute("price", "Fiction"));
xmldetails.Element("People").Add(books);

应该是

xmldetails.Root.Add(books);

people是xml的根目录,所以你不需要指定它。