-1

非常简单的问题,所以我希望这不会让我在 Stack 上崩溃。

我正在尝试使用很酷的 SharpRepository 包,但是我一直未能找到任何有用的信息来说明如何使用与它捆绑的 XmlRepository 程序集。

实际上我说的是谎言,nuget 版本没有,github 版本有,但我尝试使用它的废话尝试失败了。

我编译了 github 源代码,然后添加了对 SharpRepository.Repository 和 SharpRepository.XmlRepository 的引用,到目前为止一切顺利。

然后我做了一个非常简单的测试,首先创建了一个基本实体(姓名、地址、邮政编码),然后进行了如下快速测试:

var repo = new XmlRepository<Client, string>("C:\client.xml");

当我调试控制台应用程序并进入该行的源代码时,深入到基类 XmlRepositoryBase.cs 并逐步执行 LoadItems() 方法,当我尝试执行该行时出现错误

_items = (List<T>)serializer.Deserialize(reader);

我收到以下错误消息:

<client xmlns=''> was not expected.

为了测试,该类非常简单:

public class Client
{
   public Int32 Id { get; set; }
   public String Name { get; set; }
   public String Postcode { get; set; }
}

XML 文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<client>
  <clientProfile>
    <id>1</id>
    <name>TheFragranceShop</name>
    <description>The Fragrance Shop</description>
    <enabled>true</enabled>
  </clientProfile>
</client>

在此先感谢,如果我设法解决,将发布更新。

4

1 回答 1

-1

我收到了作者的答复:

XmlRepository 在这里: http ://www.nuget.org/packages/SharpRepository.XmlRepository/1.3.5.18-unstable

它被标记为预发布只是因为它在现实世界中没有被大量使用(据我所知)。我将它用于简单的事情,例如为简单的桌面应用程序存储少量数据等。

它旨在与 POCO 对象一起使用,并将对象集合存储在单个 XML 文件中(每个存储库类型 1 个)。它不是用来查询现有的随机 XML 文件的,所以如果这是你的目的,那么它对你不起作用。

杰夫

这是有道理的,所以我将使用 Stack 上已经发布的关于这个主题的一些答案,例如:

从 XML 创建实体

我认为最好的解决方案是结合使用 Linq to XML 和 XML Serli

于 2015-05-13T09:30:47.363 回答