Tag: xml

使用XPath从XmlDataProvider过滤XML数据

我有一个像这样的xml文件: 我在我的WPF项目中使用此文件:(这是一个资源) 我知道如何根据组织的Title或图层Title制作filter: XmlDataProvider p = (XmlDataProvider)this.FindResource(“myData”); p.XPath = string.Format(“//Organizations/Organization[Layer[contains(@Title,\”{0}\”)]]”, this.layerNameFilter.Text); 但我想根据组织的Title和图层Title过滤这些数据。 有什么建议吗? 如何更改我的XPath字符串,以便我根据它们获得filter? 编辑 我在TreeView上显示这些数据:

可移植类库,XmlAnyElementAttribute

在可移植类库中 ,我有一个包含具有XmlAnyElement属性的成员的类。 public partial class VariableWebServiceResponse { private List anyField; public VariableWebServiceResponse () { this.anyField = new List(); } [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)] public List Any { get { return this.anyField; } set { this.anyField = value; } } } 这种类在.NET 4.0中完美运行,因此我的代码如下: private T Deserialize(VariableWebServiceResponse response) { var name = typeof(T).Name; var element = response.Any.SingleOrDefault(x => x.Name == […]

获取xml属性值为string

我的xml文件有这样的东西: … … 那么我如何递归获取name属性的所有值并将它们添加到List或string[] 。 也许是一个foreach循环? 我遵循codemeit并且我一直收到错误: Data at the root level is invalid. Line 1, position 1. Data at the root level is invalid. Line 1, position 1.我的xml文件是 … … 新问题The ‘\’ character, hexadecimal value 0x5C, cannot be included in a name. 但是同一个文件。

C#XML数据转换成字典

美好的一天, 我一直在使用ToDicationary()扩展方法 var document = XDocument.Load(@”..\..\Info.xml”); XNamespace ns = “http://www.someurl.org/schemas”; var myData = document.Descendants(ns + “AlbumDetails”).ToDictionary ( e => e.Name.LocalName.ToString(), e => e.Value ); Console.WriteLine(“Writing music…”); foreach (KeyValuePair kvp in myData) { Console.WriteLine(“{0} = {1}”, kvp.Key, kvp.Value); } 使用以下XML数据: Ottmar Liebert Barcelona Nights Spain 而且我没有得到我想要的输出。 相反,我得到了这个: Writing music… AlbumDetails = Ottmar LiebertBarcelona NightsSpain 相反,我想要myData(“艺术家”)=“Ottmar Liebert”等… […]

从URL打开的XmlDocument

我正在使用XmlDocument打开远程XML文档 string apiURL = Settings.Settings.URLBaseAPI + “user.php”; apiURL = apiURL + “?u=” + Settings.Settings.ForumUsername + “&p=” + MD5Tool.GetMD5Hash(Settings.Settings.ForumPassword) + “&mode=token”; doc.Load(apiURL); 反正是否设置了用于检索XML文档的Internet访问的用户代理?

使用C#/ .NET读/写XML

使用C#/ .NET读取/写入XML的最佳function,实践和/或技术是什么?

免费的C#XML Diff库或类

我正在寻找XML Diff类或库。 有我的要求: – 开源:) – 输出的对象模型(*) – 相当快(对于4mb XML) 我正在尝试使用MS XML Diff和Patch Tools,但我想获得一个具有2个XML文件差异的对象列表(而不是HTML标记)。 UPD:感谢您的所有回复。 我实施了自己的解决方案; 对Linq2Xml来说并不太难:) UPD2:对不起伙计们,但我现在不能在这里发布我的解决方案(我实际上还没有得到它,因为我最近改变了我的工作)。 我的解决方案也有一些特定的部分,所以它不能适合任何方式的常见问题。 主要建议是使用Linq2Xml,实现你的逻辑,玩得开心:)

使用ASP.NET(C#)解析多个XML文件并返回具有特定元素的文件

问候。 我正在寻找一种方法,用ASP.NET(C#)解析特定目录中的大量XML文件。 我希望能够从特定元素返回内容,但在此之前,需要找到元素之间具有特定值的内容。 示例XML文件1: Title 1 Content filter 示例XML文件2: Title 2 Content filter, different filter 示例案例1: 给我所有具有’filter’filter的XML。 案例2: 给我所有标题为“Title 1”的XML。 看起来,这似乎应该可以用LINQ,但我只看到有关如何在有一个XML文件时执行此操作的示例,而不是在存在多个时,例如在这种情况下。 我希望这可以在服务器端完成,这样我就可以在那一端缓存。 可以使用任何版本的.NET Framework的function。 谢谢! 〜詹姆斯

创建应用程序数据的快照 – 最佳实践

我们有一个使用.NET FW 4.0在C#中开发的文本处理应用程序,其中管理员可以定义各种设置。 所有这些“设置”数据都驻留在大约50个具有外键关系和Identity主键的表中(我认为这会使它变得棘手)。 整个数据库不超过100K记录,平均表有大约6个短列。 该系统基于MS SQL 2008 R2 Express数据库。 我们需要创建所有这些数据的快照,以便系统管理员可以随时回滚到其中一个快照。 我们只需要保留最后5个快照。 必须从应用程序GUI开始创建快照,因此必要时必须回滚到任何快照(由于拒绝直接访问数据库,因此不允许使用SSMS)。 系统仍在开发中(我们真的完成了吗?)这意味着新表和列会多次添加。 因此,我们需要一个可以自动处理更改的强大方法(在插入/更改列之后挖掘代码是我们想要避免的,除非没有其他方法)。 最好的方法是告诉“我想创建名称以’Admin’开头的所有表的快照”。 显然,这是一项数据库密集型任务,但由于它仅在紧急情况下使用,这是我不介意的事情。 我也不介意是否发生表锁,因为在创建或回滚快照的过程中,没有人会尝试使用这些表。 问题可分为两部分: 创建快照 回滚到快照 关于问题#1。 我们可能有两种选择: 将数据导出为XML(文件或数据库列) 将SQL中的数据复制到相同或不同的表中(例如,再次使用与前缀为“Backup”的原始表相同的名称创建相同的表结构)。 关于问题#2。 我看到的最大问题是如何将所有数据重新导入到外键关联表中,这些表使用IDENTITY列进行PK生成。 我需要删除所有受影响的表中的所有数据,然后重新导入所有数据,同时暂时放宽FK约束并关闭身份生成。 加载数据后,我应检查FK约束是否仍然正常。 或许我应该找到一种加载表的逻辑方式,以便在加载时可以保留约束检查(因为我们没有无法管理的表数,这可能是一个可行的解决方案)。 当然,出于显而易见的原因,我需要在单个事务中进行所有删除和重新加载。 我怀疑可能没有基于SQL的纯解决方案,尽管SQL CLR可能有助于避免将数据移出SQL Server。 我们面临同样的问题吗? 也许有人成功解决了这样的问题? 我不指望一步一步的指导。 任何有关从何处开始,获取哪些路径(导出到RAW XML或在数据库中保存快照或两者)的帮助,优点/缺点都非常有用。 谢谢你的帮助和时间。 丹尼尔

通过c#解析csproj – 无法解析ItemGroup

我试图从csproj文件中获取所有的dll名称,但无法得到任何东西! 所以,我尝试使用liq查询从ItemGroup标签获取al元素: var elem = doc.Descendants(“Project”).Where(t => t.Attribute(“ToolsVersion”)!=null) .Elements(“ItemGroup”).Elements(“Reference”).Where(r => r.Attribute(“Include”) != null); var attrs = elem.Attributes(); Console.WriteLine(attrs.Count()); foreach (var e in attrs) { Console.WriteLine(e); } 这是我的xml csproj文件。 我剪了一些不完整的文字)) icon.ico 4.0 请帮我拿这个名单! 我做错了什么? 谢谢。