Tag: xml

从C#LINQ解析XML时,如何保留空白字符

我需要在C#代码或XML文档中做什么才能让XDocument解析器读取XElement的Value s的文字空格? 背景 我有一个XML文档,其中一部分如下所示: 我正在使用LINQ查询将每个XELement的值添加到数据字典中; .ForEach部分如下所示: .ForEach(x => SchemaDictionary.Add( LogicHelper.GetEnumValue(x.Name.ToString()), x.Value)); 为了测试是否保留了空白值,我打印出数据字典中每个值项的字符编号行。 在下面的代码中, x表示KeyValuePair ,而Aggregate只是生成字符整数值的字符串: x.Value.ToCharArray() .Aggregate(“”,(word,c) => word + ((int)c).ToString() + ” ” ) )); 我希望值为10 13 , 值为32 32 32 32 。 但是,没有为每个值打印任何内容( 注意:XML中的其他转义值,例如<正确打印其字符数 )。 我需要在C#代码或XML文档中做什么才能使我的解析器将完整的空白字符串添加到数据字典中?

使用序列化从XML文件读入C#类

我有以下XML文件,我试图使用DE序列化读入c#中的类: InfoRequest CInfoReq theId TheID theName NewName 以下是我正在使用的代码,虽然它没有错误地执行,但没有数据被读入类PropertiesMapping,我在哪里错了? PropertiesMapping pm = null; try { System.IO.StreamReader str = new System.IO.StreamReader(@”PropertyMapping.xml”); System.Xml.Serialization.XmlSerializer xSerializer = new System.Xml.Serialization.XmlSerializer(typeof(PropertiesMapping)); pm = (PropertiesMapping)xSerializer.Deserialize(str); str.Close(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = “”)] [System.Xml.Serialization.XmlRootAttribute(Namespace = “”, IsNullable = false)] public class PropertiesMapping { private string m_WEB_Class = […]

在C#中解析XML文件

在C#中解析XML文件的最快方法是什么? 我正在使用.Net 2.0

C#获取XML TAG VALUE

我有一个名为BackupManager.xml的xml文件 我试图从标签中获取值到字符串例如: – 我需要’backUpPath’标签的值为’D:/ BACKUPS /’到字符串说’str’ 我试过的代码是 XmlDocument infodoc = new XmlDocument(); infodoc.Load(“BackupManager.xml”); //int col = infodoc.GetElementsByTagName(“directory”).Count; String str = infodoc.GetElementByID(“directory”).value; 但我在’str’上得到零值

如何使用XmlReader从XML中的特定子元素获取值?

这是XML字符串。 Question 1? abcdefg 123 Question 2? 12345678 123 那么如何通过给定的问题ID得到元素的值? 比方说,如果我给id值=“dd7e3bce-57ee-497a-afe8-e3d8d25e2671”,我想要返回字符串值abcdefg作为结果。 var xmlstr = “content from above xml example”; using (var reader = XmlReader.Create(new StringReader(xmlstr))) { while(reader.Read()) { if(reader.IsStartElement()) { var attr = reader[“id”]; if(attr != null && attr == “dd7e3bce-57ee-497a-afe8-e3d8d25e2671”) { if(reader.ReadToDescendant(“response”)) { result = reader.Value; // <= getting empty string? So what's wrong? […]

反序列化对象列表的问题

我无法反序列化对象列表。 我只能得到一个对象序列化到一个对象但无法获取列表。 我没有得到错误它只返回一个空列表。 这是返回的XML: 1 Building Name Description of Building 这是我的类,我在GetAll方法中反序列化: [Serializable()] [XmlRoot(“location”)] public class Building { private string method; [XmlElement(“id”)] public int LocationID { get; set; } [XmlElement(“name”)] public string Name { get; set; } [XmlElement(“description”)] public string Description { get; set; } [XmlElement(“mubuildingid”)] public string MUBuildingID { get; set; } public List GetAll() […]

WPF双向绑定XML

我很难掌握WPF,更具体地说是执行xml文件的双向绑定。 我应该使用XMLDataProvider还是他们的另一个(更好)选项? 数据显示正常,但是当我更改条目时,更改不会反映在xml文件中。 XML: DAX 01/01/2010 01/04/2010 DJI 01/07/2010 01/10/2010 XAML: CodeBehind: public MainWindow() { InitializeComponent(); } private void DataGridLic_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) { XMLData.Document.Save(“XMLFile1.xml”); } 更新:xml数据绑定的一些有用资源: http://msdn.microsoft.com/en-us/library/bb669141.aspx http://msdn.microsoft.com/en-us/library/cc165615.aspx

如何从XElement中删除特定节点?

我创建了一个带有节点的XElement,它具有如下XML。 我想删除所有“ 规则 ”节点,如果它们包含“ 条件 ”节点。 我创建一个for循环,如下所示,但它不会删除我的节点 foreach (XElement xx in xRelation.Elements()) { if (xx.Element(“Conditions”) != null) { xx.Remove(); } } 样品: 如果它们包含“ 条件 ”节点,如何删除所有“ 规则 ”节点?

XDocument.Save()删除了我的&#xA; 实体

我编写了一个工具来修复一些XML文件(即插入一些缺少的属性/值),使用C#和Linq-to-XML。 该工具将现有XML文件加载到XDocument对象中。 然后,它通过节点向下解析以插入缺失的数据。 之后,它调用XDocument.Save()将更改保存到另一个目录。 所有这一切都很好,除了一件事:任何&#xA; XML文件中文本中的实体将替换为换行符。 当然,实体代表一个新行,但我需要在XML中保留实体,因为另一个消费者需要它。 有没有办法保存修改过的XDocument而不会丢失&#xA; 实体? 谢谢。

如何解析XML差异以仅显示差异

我使用MS XmlDiffPatch工具比较两个序列化对象的xml。 (C#) XML示例1: 119 1 4 0 XML示例2: 119 1 5 0 (NumberNights已从4更改为5) 他们之间的差异: 5 关于如何处理差异的任何建议只能显示两者之间的差异? 我想要一个显示NumberNights的最终显示:oldvalue(4),new value(5) Xml Diff Tool具有GetHtml()函数,但它显示所有值,并突出显示已更改的值。 目前为了获得差异,我通过生成的CSS查找CSS“lightgreen”,然后执行字符串操作以查找节点的名称..这对于充满审计数据的表来说是疯狂的并且非常慢! 任何更好的想法赞赏!