Tag: xml

没有使用XPath从Atom XML文档中选择节点?

我正在尝试以编程方式解析Atom提要。 我将primefacesXML下载为字符串。 我可以将XML加载到XmlDocument 。 但是,我无法使用XPath遍历文档。 每当我尝试时,我都会null 。 我一直在使用这个Atom提要作为测试: http : //steve-yegge.blogspot.com/feeds/posts/default 调用SelectSingleNode()始终返回null ,除非我使用“ / ”。 这就是我现在正在尝试的: using (WebClient wc = new WebClient()) { string xml = wc.DownloadString(“http://steve-yegge.blogspot.com/feeds/posts/default”); XmlNamespaceManager nsMngr = new XmlNamespaceManager(new NameTable()); nsMngr.AddNamespace(string.Empty, “http://www.w3.org/2005/Atom”); nsMngr.AddNamespace(“app”, “http://purl.org/atom/app#”); XmlDocument atom = new XmlDocument(); atom.LoadXml(xml); XmlNode node = atom.SelectSingleNode(“//entry/link/app:edited”, nsMngr); } 我以为它可能是因为我的XPath,所以我也尝试了一个简单的根节点查询,因为我知道root应该工作: // I’ve tried both with […]

使用多个元素属性反序列化XML文件 – 属性不反序列化

使用C#.Net 4 – XML示例(Real示例有6个属性) 25 对于我的class级定义,我有以下内容: public class TestXML() { public TestXML() {} public int TestElement {get; set;} [XmlAttribute] public string attr1 {get; set;} [XmlAttribute] public string attr2 {get; set;} [XmlIgnore] public DateTime DateAdded {get; set;} [XmlAttribute(“DateAdded”)] public string dateadded { get{ return (DateAdded == null ? “” : DateAdded.ToString();} set{ if(!value.Equals(“”)) DateAdded = DateTime.Parse(value);} […]

如何使用前缀创建XmlElement属性?

我需要能够在xml元素中定义带有前缀的属性。 例如… 为了做到这一点,我虽然以下会有效。 XmlElement TempElement = XmlDocToRef.CreateElement(“nc:Person”, “http://niem.gov/niem/niem-core/2.0”); TempElement.SetAttribute(“s:id”, “http://niem.gov/niem/structures/2.0”, “ID_Person_01”); 不幸的是,当我收到下面的错误时,XmlElement.SetAttribute(string,string,string)似乎不支持解析前缀。 ‘:’字符,hex值0x3A,不能包含在名称中。 如何定义带前缀的属性?

将XML数据放入Windows事件日志中

如何将XML数据写入Windows事件日志? 我注意到有一种方法可以将XML插入到Windows事件日志中(而不是将其填充到描述中)。 结果是,您只能在Windows Vista的“ General视图中获得描述消息。 您可以在“ Details视图中查看XML数据。 如果选择“ Friendly单选按钮,它将显示在“ Event Data节点下。 如果选择XML视图,那么您将看到XML。 我认为EventLog.WriteEntry()方法中的rawData字节数组将允许我这样做。 我尝试将XMLWriter的输出填充到其中。 这将数据放入事件日志中,但它被视为二进制而不是XML。

在c#中从URL读取xml时引用未声明的实体’nbsp’?

XmlDocument xmldoc = new XmlDocument(); xmldoc.XmlResolver = null; xmldoc.Load(“URL”); XmlWriter xmlWrite = XmlWriter.Create(@Server.MapPath(“Test.xml”)); xmldoc.Save(xmlWrite); xmlWrite.Close(); 上面是我用来读取XML文件的代码。 我加载的XML包含实体,如nbsp; 因此,代码抛出了一个XMLException: 参考未申报的实体’nbsp’

如何从存储过程返回XML?

我创建了一个返回XML的存储过程,我想在我创建的方法中返回该XML。 我有两个问题。 首先,在进行一些搜索之后,不建议使用.ExecuteScalar(); 因为它会截断超过2033个字符的字符串。 所以,我发现了一个名为ExecuteXMlReader()的函数,但是在.NET 4.0(C#)上运行的Visual Web Developer 2010 Express中,它抛出错误”System.Data.SqlClient.SqlCommand’ does not contain a definition for ‘ExecuteXMlReader’ and no extension method ‘ExecuteXMlReader’ accepting a first argument of type ‘System.Data.SqlClient.SqlCommand’ could be found” 这是我的存储过程: CREATE PROCEDURE dbo.GETReport (@ReportDate date) AS SELECT * FROM ReportTbl WHERE ReportDate = @ReportDate for xml auto, elements set nocount on; RETURN […]

StreamReader并读取XML文件

我从使用StreamReader的Web服务器得到响应…现在我想解析这个响应(它是一个XML文档文件)来获取它的值,但每次我尝试这样做时都会出错:Root元素丢失了。 如果我直接读取相同的XML文件,文件格式正确,我可以读取它。 这是流: WebResponse response = webRequest.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader responseReader = new StreamReader(responseStream); string responseString = responseReader.ReadToEnd(); 这就是我尝试读取XML文件的方式: XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(responseReader); XmlNodeList address = xmlDoc.GetElementsByTagName(“original”);

使用C#.NET处理XML中的禁用字符

我有一个对象,我正在序列化为xml。 似乎其中一个属性中的值包含hex字符0x1E。 我已经尝试将XmlWriterSettings的Encoding属性设置为“utf-16”和“unicode”,但我仍然会抛出exception: 这是生成XML文档的错误。 —> System.InvalidOperationException:生成XML文档时出错。 —> System.ArgumentException:”,hex值0x1E,是无效字符。 有没有办法让这些字符进入xml? 如果没有,是否还有其他字符会导致问题?

使用C#将XML导入SQL

我知道这不是运动要求这种帮助,但我已经坚持了一段时间 – 现在我正在阅读两本C#书籍并且每天工作超过9小时。 好的,这是我的问题:我有一个几乎完成的WinForms C#应用程序。 在SQL中我有三个表如下所示: CREATE TABLE [dbo].[Racuni]( [BROJ] [varchar](12) NULL, [DATUM] [datetime] NULL, [TS] [datetime] NULL, [USER_ID] [int] NULL, [KASA_ID] [varchar](3) NULL, [TOTAL] [float] NULL, [STATUS] [varchar](1) NULL, [ARH] [varchar](max) NULL ) ON [PRIMARY] Create Table “Rac_Npl” ( br_rac Char( 12 ) , kasa_id Char( 3 ) , npl_id Integer , iznos Money); […]

为什么访问com端口被拒绝?

代码: static void Main(string[] args) { Console.WriteLine(“Memory mapped file reader started”); using (var file = MemoryMappedFile.OpenExisting(“AIDA64_SensorValues”)) { using (var readerz = file.CreateViewAccessor(0, 0)) { var bytes = new byte[567]; var encoding = Encoding.ASCII; readerz.ReadArray(0, bytes, 0, bytes.Length); File.WriteAllText(“C:\\myFile.txt”, encoding.GetString(bytes)); var readerSettings = new XmlReaderSettings { ConformanceLevel = ConformanceLevel.Fragment }; using (var reader = XmlReader.Create(“C:\\myFile.txt”, readerSettings)) […]