Tag: xml

如何将此字符串保存到XML文件中?

我有这个字符串变量: string xml = @” Patrick Hines 206-555-0144 425-555-0145 332-899-5678 123 Main St Mercer Island WA 68042 Dorothy Lee 910-555-1212 336-555-0123 336-555-0005 16 Friar Duck Ln Greensboro NC 27410 “; 如何将此字符串保存到驱动器c中的XML文件中? 使用c#。

VS2010在设计器模式下打开我的类文件(.cs)

我创建了一个在全新项目中扩展DbConnection的类。 public class FakeDbConnection : DbConnection { … } 在Solution Explorer中,类看起来像这样: 当双击它想要在设计模式下打开它,这将无法正常工作。 打开.csproj文件会显示问题 Component 即使我删除SubType标签VS2010立即重新添加它。 很烦人。 如何阻止VS2010在设计器模式下打开我的.cs文件并将其打开为常规代码文件?

以编程方式从XML Schema生成测试XML

我现在搜索了一下,但是我无法找到一种以编程方式从XML Schema自动生成数据的方法。 假设我有这个XML架构: 我可以使用VS函数“Generate Sample XML”从中创建XML 有没有办法以编程方式执行此操作? 编辑:指定。 我不想自己创建所有对象并以编程方式插入数据。 我希望它能像VS中的“生成示例XML”一样自动创建对象和属性。 这样做的原因是我想更改XSD而不必对xml样本生成做任何事情。

删除没有子节点的父节点

我有一个与从xml文件中删除特定节点有关的问题。 这是我的XML示例: 我想删除节点nodeB=”toRemove”而不删除此节点的子节点。 之后我需要使用nodeB attribute=”placeHolder”做同样的事情。 结果的一部分看起来像这样: 我一直在尝试这样的代码来实现: XmlNodeList nodeList = doc.SelectNodes(“//nodeB[@attribute=\”toRemove\”]”); foreach (XmlNode node in nodeList) { foreach (XmlNode child in node.ChildNodes) { node.ParentNode.AppendChild(child); } node.ParentNode.RemoveChild(node); } doc.Save(XmlFilePathSource); 我能够找到具有所需属性toRemove或placeHolder的节点,但是我无法将此节点的子节点向上移动一级。 在这种情况下你能帮我吗? 它可以是Linq,XDocument,XmlReader的解决方案,但我更喜欢使用XmlDocument。 感谢您提前给我提供的任何帮助。 编辑: 在这种情况下,我使用了稍微修改过的代码(以保持顺序),Chuck Savage写道。 一旦删除 然后再做同样的事情 这是稍微修改过的代码 XElement root = XElement.Load(XmlFilePathSource); var removes = root.XPathSelectElements(“//nodeB[@attribute=\”toRemove\”]”); foreach (XElement node in removes.ToArray()) { node.Parent.AddAfterSelf(node.Elements()); node.Remove(); } […]

XMLexception:无效字符

我正在开发一个小项目,它从一个长期运行的应用程序接收字符串forms的XML数据。 我正在尝试将此字符串数据加载到XDocument ( System.Xml.Linq.XDocument )中,然后从那里执行一些XML Magic并为数据报告创建xlsx文件。 有时,我收到包含无效XML字符的数据,并且在尝试将字符串解析为XDocument ,我收到此错误。 [System.Xml.XmlException]消息:’?’,hex值0x1C,是无效字符。 由于我无法控制远程应用程序,因此您可以期待任何类型的角色。 我很清楚XML有一种方法可以将字符放在其中,例如&#x1C或类似的东西。 如果可能的话,我会非常喜欢保留所有数据。 如果没有,那就不要了。 我已经考虑过以编程方式编辑响应字符串,然后返回并尝试重新解析如果抛出exception,但我尝试了一些方法,但它们似乎都没有成功。 谢谢你的想法。 代码就是这样的: TextReader tr; XDocument doc; string response; //XML string received from server. … tr = new StringReader (response); try { doc = XDocument.Load(tr); } catch (XmlException e) { //handle here? }

实施类/方法的属性装饰

继我最近关于大型复杂对象作为Web服务结果的问题之后 。 我一直在考虑如何确保所有未来的子类都可以序列化为XML。 现在,显然我可以实现IXmlSerializable接口然后读取它的读取器/写入器但我想避免它,因为它然后意味着我需要在我想要的时候实例化读取器/写入器,并且99.99%的时间我将使用字符串,所以我可能只写自己的字符串 。 但是,要序列化为XML,我只是用Xml来装饰类及其成员??? 属性( XmlRoot , XmlElement等),然后将其传递给XmlSerializer和StringWriter以获取字符串。 这一切都很好。 我打算把方法返回到一个通用的实用工具方法,所以我不需要担心类型等。 我担心的是:如果我没有使用必需的属性装饰类,则在运行时才会抛出错误。 有没有办法强制执行属性修饰? 可以用FxCop完成吗? (我还没用过FxCop) 更新: 很抱歉让这些人关闭,很多事要做! 绝对喜欢在测试用例中使用reflection来实现它的想法,而不是诉诸于FxCop(喜欢把所有东西放在一起).. Fredrik Kalseth的答案非常棒,感谢包含代码,因为它可能会让我有点挖掘弄清楚自己该怎么做! +1给其他人类似的建议:)

如何使sql查询结果到xml文件

我有一个SQL查询,从表中选择一些数据。 ID Name Number Email 1 a 123 a@a.com 2 b 321 b@b.com 3 c 432 c@c.com 我从表中得到这些数据。 我想从数据创建一个xml文件。 像这样 1 a 123 a@a.com 2 b 321 b@b.com 3 c 432 c@c.com 如何在C#和SQL Server上执行此操作?

如何在xml数据的linq查询中使用TryParse?

我正在处理每日股票市场数据的内存xml,我得到其中一个日期的值“8/221/19055”。 我看到TryParse可能是检查有效日期的最佳选择,但MSDN doc似乎对第二个参数“out DateTime result”的解释很清楚。 我如何在下面的linq查询中使用它? var makeInfo = from s in doc.Descendants(“quote”) where s.Element(“LastTradeDate”) != null && s.Attribute(“symbol”) != null let dateStr = s.Element(“LastTradeDate”).Value where !string.IsNullOrEmpty(dateStr) && DateTime.Parse(dateStr, enUS) == targetDate select new DailyPricingVolDP((string)s.Attribute(“symbol”), (DateTime)s.Element(“LastTradeDate”), (double)s.Element(“Open”), (double)s.Element(“DaysHigh”), (double)s.Element(“DaysLow”), (double)s.Element(“LastTradePriceOnly”), (long)s.Element(“Volume”));

如何将XML读入DataTable?

我在内存中的string中有一些XML,如下所示: EURCHF EURGBP EURJPY EURUSD 我想把它读成DataTable 。 我是这样做的: DataTable dt = new DataTable(); dt.TableName = “symbols”; dt.Columns.Add(“symbol”); if (!String.IsNullOrEmpty(symbols)) { dt.ReadXml(new StringReader(symbols)); } 但是,当我检查行数时, DataTable最终会有零行。 我究竟做错了什么?

使用属性和类的单个值将C#类序列化为XML

我正在使用C#和XmlSerializer来序列化以下类: public class Title { [XmlAttribute(“id”)] public int Id { get; set; } public string Value { get; set; } } 我希望这能序列化为以下XML格式: Some Title Value 换句话说,我希望Value属性是XML文件中Title元素的值。 如果不实现我自己的XML序列化程序,我似乎无法找到任何方法,我想避免这种情况。 任何帮助,将不胜感激。