Tag: xml

为什么NamespaceManager在XPath中不使用前缀时不使用DefaultNamespace

当我想使用XPath遍历我的XmlDocument时,我遇到了文档中有许多丑陋的命名空间的问题,所以我开始使用NamespaceManager和XPath。 XML看起来像这样 Data 现在,根据我在本文档中看到的, “urn:schemas-microsoft-com:office:spreadsheet”是默认命名空间,因为它位于根元素上。 所以,天真地,我像这样配置了我的NamespaceManager : XmlDocument document = new XmlDocument(); document.Load(reader); XmlNamespaceManager manager = new XmlNamespaceManager(document.NameTable); manager.AddNamespace(String.Empty, “urn:schemas-microsoft-com:office:spreadsheet”); manager.AddNamespace(“o”, “urn:schemas-microsoft-com:office:office”); manager.AddNamespace(“x”, “urn:schemas-microsoft-com:office:excel”); manager.AddNamespace(“ss”, “urn:schemas-microsoft-com:office:spreadsheet”); manager.AddNamespace(“html”, “http://www.w3.org/TR/REC-html40”); 但是,当我尝试访问节点时 foreach (XmlNode row in document.SelectNodes(“/Workbook/Worksheet[1]/Table/Row”, manager)) 我从来没有得到任何结果。 我的印象是,通过使用空前缀设置第一个命名空间,在搜索该工作空间中的节点时,我不需要设置它。 但是,正如在AddNamespace方法中所述 : 如果XPath表达式不包含前缀,则假定名称空间统一资源标识符(URI)是空名称空间。 这是为什么? 而且,更重要的是:如何访问默认命名空间中的节点,如果不使用前缀将它们设置为空命名空间? 如果我在搜索节点时甚至无法访问它,那么在管理器上设置默认命名空间有什么用呢?

C#:反序列化XML文件错误(认为这是一个命名空间问题 – 但是我的生活不能解决它)

我正在反序列化一个XML文件,该文件来自我们的一个客户的Web服务。 问题是,在使用xsd.exe创建类之后,我将文件反序列化并获得通常的“XML文档中存在错误(2,2)”。 视觉工作室错误。 这个,我假设是第2行,它指向命名空间声明: XML文件的顶部: MX 2009-05-11T09:48:51+01:00 SUPPLIER 12420317323327108 顶级: [System.CodeDom.Compiler.GeneratedCodeAttribute(“xsd”, “2.0.50727.42”)] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute(“code”)] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=”http://www.mro.com/mx/integration”)] [System.Xml.Serialization.XmlRootAttribute(Namespace=”http://www.mro.com/mx/integration”, IsNullable=false)] public partial class MXWorkorderOutResp { private MXWorkorderOutRespHeader[] headerField; private MXWorkorderOutRespContentMXWORKORDERWORKORDER[][][] contentField; private string languageField; /// [System.Xml.Serialization.XmlElementAttribute(“Header”)] public MXWorkorderOutRespHeader[] Header { get { return this.headerField; } set { this.headerField = value; } } /// [System.Xml.Serialization.XmlArrayItemAttribute(“MXWORKORDER”, typeof(MXWorkorderOutRespContentMXWORKORDERWORKORDER[]), IsNullable=false)] […]

如何在xml序列化中控制属性的顺序?

有没有办法按特定顺序拥有System.Xml.Serialization序列化属性? 我正在创建新的xml导出,并且当前属性的顺序不同。 我知道属性顺序无关紧要,但我必须将此xml发送给可能没有这种开明想法的服务器。

Linq to XML – 提取单个元素

我有一个XML / Soap文件,如下所示: True 我想提取SendDataResult值但是使用以下代码和我尝试过的各种其他方法很难这样做。 即使元素中有值,它也总是返回null。 XElement responseXml = XElement.Load(responseOutputFile); string data = responseXml.Element(“SendDataResult”).Value; 需要做什么来提取SendDataResult元素。

如何在C#中将xml格式的密钥对更改为PEM格式?

我尝试将创建的密钥对以xml格式更改为PEM格式。 这是我的代码。 CspParameters cspParams = new CspParameters(); cspParams.ProviderType = 1; cspParams.Flags = CspProviderFlags.UseArchivableKey; cspParams.KeyNumber = (int)KeyNumber.Exchange; rsaProvider = new RSACryptoServiceProvider(1024,cspParams); RSAParameters rsa_params = rsaProvider.ExportParameters(true); byte[] rsa_export = rsaProvider.ExportCspBlob(true); //here I’ve try to get private key data string data__ = Convert.ToBase64String(rsa_export); FileStream fs = new FileStream(privateKeyFileName, FileMode.CreateNew); string type = “RSA PRIVATE KEY”; string header = […]

转换大型Xml文件

我正在使用此扩展方法使用xslt转换非常大的xml文件。 不幸的是,我在source.ToString()行上得到了OutOfMemoryException。 我意识到必须有一个更好的方法,我只是不确定那会是什么? public static XElement Transform(this XElement source, string xslPath, XsltArgumentList arguments) { var doc = new XmlDocument(); doc.LoadXml(source.ToString()); var xsl = new XslCompiledTransform(); xsl.Load(xslPath); using (var swDocument = new StringWriter(System.Globalization.CultureInfo.InvariantCulture)) { using (var xtw = new XmlTextWriter(swDocument)) { xsl.Transform((doc.CreateNavigator()), arguments, xtw); xtw.Flush(); return XElement.Parse(swDocument.ToString()); } } } 思考? 解决方案? 等等。 更新:现在这已经解决了,我在validation架构时遇到了问题! validation大型Xml文件

xml中的额外结束括号

我使用此示例将一些变量保存到xml文件: 如何将当前类设置为返回类型结果 这是我的设置文件代码: using System; using System.IO; using System.Xml.Serialization; namespace ssscc.Settings { public class AppSettings { public string ReceiptLine1 { set; get; } public string ReceiptLine2 { set; get; } public string ReceiptLine3 { set; get; } public string ReceiptLine4 { set; get; } public string ReceiptLine5 { set; get; } public string ReceiptLine6 { […]

你如何强制WPF ListView重新查询其ItemSource?

我正在重写其XML itemSource并希望它立即使用新数据……

如何将数据插入asp.net中的现有xml文件?

我正在使用Visual Web Developer 2008 Express Edition,因为我是新手,所以我需要你的帮助。 我正在尝试将数据插入或写入我的xml文件,以便我可以将其显示到我的xml控件中。 现在,我想在这里做的是每当用户在文本框中输入一条消息时,他都可以选择保存它,这样如果他点击命令按钮,我想将文本消息从文本框保存到我的xml的任何元素中文件。 比方说,我想将它插入我的xml文件的元素中。 如何使用C#或VB.Net代码执行此操作? 我有我的xml文件和我的C#代码,但c#代码对我不起作用。 我需要c#或vb.net中的代码,无论哪种方式都适合我。 非常感谢,非常感谢任何可以分享的帮助。 myxmlfile.xml Your Comments Here: Please post your comments now. Thank you. Note: Please do not post any profane languages. I don’t like their service. It’s too lousy. Always be alert on your duty. Don’t be tardy enough to waste your time. 码 […]

使用RestSharp构建XML请求

我正在尝试使用RestSharp和C#使用REST API。 我正在使用的API文档提供了一个示例XML请求: EX0000000 07700900654 07700900123 SMS Hello Mr Sands. 07700900124 SMS Hello Mr Mayo. 我正在努力了解如何以他们想要的格式构建请求(多个元素称为“消息”) 我已经为RestSharp创建了这些类来进行序列化: public class messages { public string accountreference { get; set; } public string from { get; set; } public message message { get; set; } } public class message { public string to { get; set; } public […]