Tag: xml

更好的方法来检测XML?

目前,我有以下c#代码从文本中提取值。 如果是XML,我想要它里面的值 – 否则,如果它不是XML,它只能返回文本本身。 String data = “…” try { return XElement.Parse(data).Value; } catch (System.Xml.XmlException) { return data; } 我知道C#中的exception是昂贵的,所以我想知道是否有更好的方法来确定我正在处理的文本是否是xml? 我想到了正则表达式测试,但我不认为这是一个更便宜的替代方案。 注意,我要求一种更便宜的方法。

将C#类序列化为XML文本的更简单方法

在尝试回答另一个问题时,我将C#对象序列化为XML字符串。 这太令人惊讶了; 这是我能提出的最短的代码片段: var yourList = new List() { 1, 2, 3 }; var ms = new MemoryStream(); var xtw = new XmlTextWriter(ms, Encoding.UTF8); var xs = new XmlSerializer(yourList.GetType()); xs.Serialize(xtw, yourList); var encoding = new UTF8Encoding(); string xmlEncodedList = encoding.GetString(ms.GetBuffer()); 结果还可以: 1 2 3 但是片段比我想象的要复杂得多。 我不敢相信你必须知道编码和MemoryStream这个简单的任务。 是否有更短的方法将对象序列化为XML字符串?

在C#中解码CDATA部分

我有一点XML如下: 我正在使用curXmlNode.SelectSingleNode(“description”).InnerText访问它curXmlNode.SelectSingleNode(“description”).InnerText但值返回 \ r \ n这是我已格式化的“描述”\ r \ n 代替 这是我格式化的“描述”。 有没有一种简单的方法从CDATA部分获得那种输出? 保留实际的CDATA标签似乎让它以同样的方式返回。

如何在C#中比较XML文件?

我知道有很多这样的问题,但我找不到满足我需求的答复。 我必须编写一个比较XML文件的应用程序:将有2种类型的比较,首先是2个文件,列出所有差异,第二个是多个XML文件,列出了平均值的所有变化。 我正在寻找某种类,库或API来帮助我完成这项任务。 你能提出一些解决方案吗? 然而,我不知道我是否应该使用DOM或Xpath。 有什么建议 ? 编辑: 好的,所以我一直在尝试使用XmlDiff工具完成这项任务,但是这对于多个Xml文件解决这个问题是非常有问题的 – 我不知道如何使用这个XmlDiffDiagram来梳理例如50个Xml文件之间的差异。 LINQ会更好吗?

使用C#将XML文件加载到MySQL的最快方法是什么?

题 将大型(> 1GB)XML文件转储到MySQL数据库的最快方法是什么? 数据 有问题的数据是StackOverflow Creative Commons Data Dump。 目的 这将在我正在构建的离线StackOverflow查看器中使用,因为我希望在我无法访问互联网的地方进行一些学习/编码。 我希望在项目完成后将其发布到StackOverflow成员的其余部分以供自己使用。 问题 最初,我一次读取XML /写入DB一条记录。 这需要大约10个小时才能在我的机器上运行。 我正在使用的hacktastic代码现在将500个记录抛出到一个数组中,然后创建一个插入查询以一次加载所有500个(例如“ INSERT INTO posts VALUES (…), (…), (…) … ; “)。 虽然速度更快,但仍需要数小时才能运行。 显然,这不是最好的方法,所以我希望这个网站上的大脑会知道更好的方法。 约束 我正在使用C#构建应用程序作为桌面应用程序(即WinForms)。 我使用MySQL 5.1作为我的数据库。 这意味着诸如“ LOAD XML INFILE filename.xml ”之类的function在此项目中不可用,因为此function仅在MySQL 5.4及更高版本中可用。 这种约束很大程度上是因为我希望该项目对我以外的人有用,而且我宁愿不强迫人们使用Beta版本的MySQL。 我希望将数据加载到我的应用程序中(即没有指令“在运行此应用程序之前使用’foo’将转储加载到MySQL中。”)。 我正在使用MySQL Connector / Net,因此MySql.Data命名空间中的任何内容都是可以接受的。 感谢您提供的任何指示! 到目前为止的想法 将整个XML文件加载到列中的存储过程,然后使用XPath对其进行解析 这不起作用,因为文件大小受max_allowed_pa​​cket变量的限制,默认情况下设置为1 MB。 这远远低于数据转储文件的大小。

如何以编程方式从类型生成xml架构?

我正在尝试以编程方式从任何.net类型生成xs:schema。 我知道我可以使用reflection并通过迭代公共属性来生成它,但是有内置的方法吗? 例: [Serializable] public class Person { [XmlElement(IsNullable = false)] public string FirstName { get; set; } [XmlElement(IsNullable = false)] public string LastName { get; set; } [XmlElement(IsNullable = true)] public string PhoneNo { get; set; } } 期望的输出:

C# – 如何通过HTTP读取连续的XML流

我试图找出从服务中获取连续XML数据流的最佳方法,该服务将数据作为HTTP上的“常量”提要发送。 我正在考虑使用HttpWebRequest / Response,但我不确定如果数据只是连续流式传输会如何。 有什么想法吗?

Http Post Request Message Body中的C#Xml

我正在寻找一个示例,在C#中如何将xml文档放在http请求的消息体中,然后解析响应。 我已经阅读了文档,但我想看一个例子,如果有一个可用的。 有没有人有例子? 谢谢

存储过程:传递XML作为参数和INSERT(键/值对)

您将如何构造XML并将其作为参数传递给MS SQL 2005服务器上的存储过程? 您将如何将XML插入表中? 数据采用键/值对的forms: [ 0: [key, value], 1: [key, value], 2: [key, value] ]

如何在C#中合并两个XmlDocuments

我想通过在C#中的现有Xmldocument的末尾插入第二个XML文档来合并两个XmlDocument 。 这是怎么做到的?