Tag: xml

使用SignedXml类添加基于Id属性的引用时出现“格式错误的引用元素”

当有名称空间前缀时,无法通过Id属性签署元素: void Main() { var doc = new XmlDocument(); doc.LoadXml(“Zebra”); SignedXml signedXml = new SignedXml(doc); signedXml.SigningKey = new RSACryptoServiceProvider(); Reference reference = new Reference(“#_0”); signedXml.AddReference(reference); signedXml.ComputeSignature(); } ComputeSignature()将在这里失败’错误的参考元素’应如何做到这一点?

如何序列化List ?

我有Aclass.Bclass和Cclass是Aclass的一部分。 Class A { //Few Properties of Class A List list1 = new List() List list2 = new List() Nsystem NotSystem { get; set; } // Enum Property Type } public enum Nsystem { A = 0, B = 1, C = 2 } 我想序列化A类,并希望用它生成XML; 我还想序列化list1和list2以及枚举… 序列化这个XML有什么好方法,因为我需要将Object转换为XML和XML转换为Object的function…… 有什么好的选择呢? 谢谢

使用C#对大型XML文件进行XSLT转换

我有一些非常大的XML文件(800 MB到1.5 GB)。 我需要在那上面应用XSLT。 我能够读取XMLTextReader。 当我应用XSLT转换时,获取SystemOutOfMemory Exception。 我的代码看起来像; static void Main(string[] args) { XDocument newTree = new XDocument(); XmlTextReader oReader = new XmlTextReader(@”C:\Projects\myxml.xml”); using (XmlWriter writer = newTree.CreateWriter()) { XslCompiledTransform oTransform = new XslCompiledTransform(); oTransform.Load(@”C:\Projects\myXSLT.xsl”); oTransform.Transform(oReader, writer); } Console.WriteLine(newTree); } 提前致谢。 这是非常紧急的。 如果我没有得到任何解决方案,我需要将XML拆分为更小的XML并进行转换。

如何以编程方式将xml转换为excel文件

我有一个xml文档,其中包含我的项目的小数据,我想将我的xml转换为excel文件(microsoft office excel 2003及以上版本) 我该如何以编程方式执行此操作?

C#:XmlTextWriter.WriteElementString在空字符串上失败?

我正在使用XmlTextWriter及其WriteElementString方法,例如: XmlTextWriter writer = new XmlTextWriter(“filename.xml”, null); writer.WriteStartElement(“User”); writer.WriteElementString(“Username”, inputUserName); writer.WriteElementString(“Email”, inputEmail); writer.WriteEndElement(); writer.Close(); 预期的XML输出是: value value 但是,如果例如inputEmail为空,则得到结果XML,如下所示: value 而我希望它是: value 我究竟做错了什么? 有没有办法使用XmlTextWriter以简单的方式实现我的预期结果?

VS 2015 IntelliSense:未预览的exception抛出

我刚刚升级到VS 2015企业版,正在使用C#。 在VS 2013中,我能够将XMLexception标记添加到我的方法中,当尝试使用该方法时,我会看到可以抛出exception的预览。 但是,在VS 2015中,当我将鼠标hover在方法调用上,或者尝试进行调用时,我无法预览可以抛出exception的内容。 如何让VS 2015显示方法可以抛出哪些exception? 以下是我的测试课程。 谢谢。 VS 2013 VS 2015

XmlReader – 读取没有换行符的xml文件的问题

当我使用XmlReader解析XML文件时,我会得到不同的结果,具体取决于XML文件是否格式正确(即使用换行符)。 这是我正在使用的代码: XmlReader reader = new XmlTextReader(xmlfile); reader.MoveToContent(); while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: if (reader.Name == “entry”) { Console.WriteLine(reader.ReadElementContentAsString()); } break; } } 我一直在使用的XML内容是: 5AVERAGE:host:ed402b4d-71e7-4a8d-be29-ab6e54e955c8:memory_total_kibAVERAGE:host:ed402b4d-71e7-4a8d-be29-ab6e54e955c8:memory_free_kibAVERAGE:host:ed402b4d-71e7-4a8d-be29-ab6e54e955c8:xapi_memory_usage_kibAVERAGE:host:ed402b4d-71e7-4a8d-be29-ab6e54e955c8:xapi_free_memory_kibAVERAGE:host:ed402b4d-71e7-4a8d-be29-ab6e54e955c8:xapi_live_memory_kib 代码打印出来只有3行,当它真的应该打印5.我想我错过了一些东西,但是对我来说没有意义的是,相同的代码会在同一个XML文件上产生不同的结果有白色空间。

如何将xmlnamespace添加到xmldocument

我试图创建一个xml应该是这样的 1 4 4 53 创建测试或测试元素不是问题,但创建包含命名空间的“MyTestSet”的最佳方法是什么? 我使用c#XMLDocument

C#LINQ TO XML – 从DTD标题中删除“”字符

我最近在VS2010中创建了一个小的C#windows窗体/ LINQ to XML应用程序,完全按照它应该做的,除了一件事:它在DOCTYPE标记的末尾添加“[]”,这显然导致文件遗留系统拒绝。 这是一个前后: 之前 后 使用.Save函数将文件保存在程序中后,将添加这些字符。 该程序允许选择.xml文件,然后通过删除某些标签“清除”它,然后保存它。 进程开始时,文件在DOCTYPE中没有“[]”。 保存后,他们会这样做。 LINQ to XML是否添加了这些? 有没有办法让程序不添加这些字符?

基于DateTime属性C#,XPath对XML节点进行排序

我有一个看起来像这样的XML结构。 … 我试图找到一种方法来根据sTime属性SORT节点,这是一个DateTime.ToString()值。 诀窍是我需要保持节点的机智,由于某种原因,我找不到办法做到这一点。 我很确定LINQ和XPath有办法做到这一点,但我被卡住了,因为我似乎无法根据DateTime.ToString()值进行排序。 XPathDocument saleResults = new XPathDocument(@”temp/salesData.xml”); XPathNavigator navigator = saleResults.CreateNavigator(); XPathExpression selectExpression = navigator.Compile(“sales/item/@sTime”); selectExpression.AddSort(“@sTime”, XmlSortOrder.Descending, XmlCaseOrder.None, “”, XmlDataType.Number); XPathNodeIterator nodeIterator = navigator.Select(selectExpression); while( nodeIterator.MoveNext() ) { string checkMe = nodeIterator.Current.Value; } 我还需要维护一个指向NODE的指针来检索其他属性的值。 也许这并不像我想的那么简单。 谢谢。 解决方案 :这是我最终使用的内容。 获取所选答案和IComparable类,这就是我如何根据sTime属性对XML节点进行排序,然后将所有属性放入相应的Arrays中以便稍后使用。 XPathDocument saleResults = new XPathDocument(@”temp/salesData.xml”); XPathNavigator navigator = saleResults.CreateNavigator(); XPathExpression selectExpression = navigator.Compile(“sales/item”); […]