Tag: xml

阅读xml的最佳方式

我有一个像这样的xml文档: 我想使用XmlReader来读取这个xml并返回一个学生List作为List 。 我知道这可以实现如下: List students = new List(); XmlReader reader = XmlReader.Create(“AppManifest.xml”); while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element && reader.Name == “student”) { students.Add(new Student() { Name = reader.GetAttribute(“name”), Class = reader.GetAttribute(“Class”) }); } } 我只是想知道是否有更好的解决方案? 我正在使用silverlight 4.xml结构是静态的,即。 它将只有一个Students节点,所有具有上述属性的学生节点将只在那里。

如何在C#中仅反序列化部分XML文档

这是我试图解决的问题的一个虚构的例子。 如果我在C#中工作,并且像这样使用XML: 1020 Nissan Sentra 1010 Toyota Corolla Acme Sales 1000 Dollars … and on… and on…. SalesPerson中的XML可能非常长,大小为兆字节。 我想反序列化标记, 但不反序列化SalesPerson XML元素,而是保持原始forms“以后”。 基本上我希望能够将其用作XML的Objects表示。 [System.Xml.Serialization.XmlRootAttribute(“Cars”, Namespace = “”, IsNullable = false)] public class Cars { [XmlArrayItem(typeof(Car))] public Car[] Car { get; set; } public Stream SalesPerson { get; set; } } public class Car { [System.Xml.Serialization.XmlElementAttribute(“StockNumber”)] public […]

如何在C#中将DataTable转换为XML文件?

我想将DataTable转换为C#中的XML文件。 我怎样才能做到这一点?

如果没有空格分隔符,为什么XmlReader会跳过所有其他元素?

当我尝试使用LINQ XmlReader类解析XML时,我看到了奇怪的行为。 下面的测试用例:看起来我是否使用(XElement)XNode.ReadFrom(xmlReader)或XmlReader上的一个Read()方法,它错过了输入XML中的第二个bar元素。 如果在和之间添加了任何空格,那么它将正确解析第二个bar元素。 有没有人知道为什么输入流搞砸了以及如何解决这个问题? [Test] [Explicit] public void ShouldParseCorrectNumberOfElements() { var xml = @”wtfwtf2″; XmlReader xmlReader = XmlReader.Create(new MemoryStream(Encoding.UTF8.GetBytes(xml))); int count = 0; xmlReader.MoveToContent(); while (xmlReader.Read()) { if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == “bar”) { var element = xmlReader.ReadOuterXml(); Console.WriteLine(“just got an ” + element); count++; } } Assert.AreEqual(2, count); }

XML字符串反序列化为c#对象

我收到像这样的xml文件。 Opus Klasika LR OPUS muzika. OPUS muzika. muzikos laidos 2013.02.03 Vėlyvi pusryčiai su OPUS. Vėlyvi pusryčiai su OPUS. muzikos laidos 2013.02.03 有许多程序和渠道实例。 我尝试将它反序列化为这个c#对象,但我得到一个null而不是object: [XmlRoot(“radio”)] public sealed class radio { [XmlRoot(“channel”)] public sealed class channel { [XmlAttribute(“id”)] public string id { get; set; } [XmlElement(“display-name”)] public string displayName { get; set; } [XmlElement(“icon”)] public string […]

c#将DataGridView保存到Xml文件

这是我保存文件的按钮: private void metroButton12_Click(object sender, EventArgs e) // save { DataSet ds = (DataSet)dataGridView1.DataSource; SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = “XML|*.xml”; if (sfd.ShowDialog() == DialogResult.OK) { try { ds.Tables[0].WriteXml(sfd.FileName); } catch (Exception ex) { Console.WriteLine(ex); } } } 我尝试将我的datagridview保护为XML,但是当我选择文件时没有什么好处。 当我启动控制台时,我看到:System.NullReferenceException:对象引用未设置为对象实例。 我的gridview看起来像:ID Name 1 Michale 2 Noob 我在这里做错了什么?我在网上看到很多东西但在stackoverflow和其他论坛中找不到任何解决方案。 请耐心等待新手们。 谢谢!

List 的XML序列化 – XML Root

关于Stackoverflow的第一个问题(.Net 2.0): 所以我试图返回一个List的XML,其中包含以下内容: public XmlDocument GetEntityXml() { StringWriter stringWriter = new StringWriter(); XmlDocument xmlDoc = new XmlDocument(); XmlTextWriter xmlWriter = new XmlTextWriter(stringWriter); XmlSerializer serializer = new XmlSerializer(typeof(List)); List parameters = GetAll(); serializer.Serialize(xmlWriter, parameters); string xmlResult = stringWriter.ToString(); xmlDoc.LoadXml(xmlResult); return xmlDoc; } 现在,这将用于我已经定义的多个实体。 说我想获得List的XML XML将类似于: Tom 2 Bob 3 获取这些实体时,有没有办法让我一直得到相同的Root? 例: Tom 2 Bob 3 另请注意,我不打算将XML反序列化回List

XML Serialize动态对象

我需要使用以下格式从对象构造一组动态创建的XML节点: My Name Value 1 Value 2 DynamicValues -tag中的节点名称不是事先知道的。 我最初的想法是,这应该可以使用Expando对象 ,例如: [DataContract] public class Root { [DataMember] public string Name { get; set; } [DataMember] public dynamic DynamicValues { get; set; } } 通过使用值初始化它: var root = new Root { Name = “My Name”, DynamicValues = new ExpandoObject() }; root.DynamicValues.DynamicValue1 = “Value 1”; root.DynamicValues.DynamicValue2 = […]

在C#中,使用x.509证书签署xml并检查签名

我正在尝试使用x.509证书签署XML文件,我可以使用私钥对文档进行签名,然后使用CheckSignature方法(它具有接收证书作为参数的重载)来validation签名。 问题是validation签名的用户必须拥有证书,我关心的是,如果用户拥有证书,那么他可以访问私钥,据我所知,这是私有的,应该只对用户可用谁签字。 我错过了什么? 谢谢你的帮助。

使用XML时引用未声明的实体exception

我试图设置xmldoc的innerxml但得到exception:引用未声明的实体 XmlDocument xmldoc = new XmlDocument(); string text = “Hello, I am text α   – —” xmldoc.InnerXml = “” + text + “”; 这引发了exception: 引用未声明的实体’alpha’。 2号线,2号线.. 我该如何解决这个问题?