Tag: xml

wcf返回一个XmlDocument?

我有一个WCF服务,我使用XmlWriter构建一个XML块。 一旦完成,我想让WCF将其作为XmlDocument返回。 但如果我在[OperationContract]中有XmlDocument它不起作用: [OperationContract] XmlDocument GetNextLetter(); WCF测试实用程序提供: System.Runtime.Serialization.InvalidDataContractException:无法序列化类型’System.Xml.XmlDocument’。

将XML加载到XDocument的最快方法是什么?

当您使用XDocument.Load创建新的XDocument ,它是打开XML文件并保留本地副本,还是连续从硬盘驱动器读取文档? 如果它连续读取,是否有更快的方法来解析XML? XDocument x = XDocument.Load(“file.xml”);

根元素缺失

我正在从xxx URl读取xml,但由于缺少Root元素,我收到错误。 我读取xml响应的代码如下: XmlDocument doc = new XmlDocument(); doc.Load(“URL from which i am reading xml”); XmlNodeList nodes = doc.GetElementsByTagName(“Product”); XmlNode node = null; foreach (XmlNode n in nodes) { } 并且xml响应如下: GFT Gift Certificate Give the perfect gift. Give the perfect gift. Gift Certificate Y 55.0000 Y 你能告诉我哪里出错了吗?

从XML序列化数组中删除包装元素

我使用的是VSTS2008 + C#+ .Net 3.0。 我使用下面的代码来序列化XML,我的对象包含数组类型属性,但是生成了一些其他元素的图层(在我的示例中,MyInnerObject和MyObject),我想从生成的XML文件中删除它们。 有任何想法吗? 当前生成的XML文件, Foo Type 预期的XML文件, Foo Type 目前的代码, public class MyClass { private MyObject[] _myObjectProperty; [XmlArrayItemAttribute(IsNullable=false)] public MyObject[] MyObjectProperty { get { return _myObjectProperty; } set { _myObjectProperty = value; } } } public class MyObject { private MyInnerObject[] _myInnerObjectProperty; [XmlArrayItemAttribute(IsNullable = false)] public MyInnerObject[] MyInnerObjectProperty { get { […]

当没有数据时,防止XmlSerializer中的自闭标签

当我序列化值时:如果数据中没有值,那么它就像下面的格式一样。 Acknowledged by PPS 但我想要的xml数据格式如下: Acknowledged by PPS 代码为此我写了: [Serializable] public class Notes { [XmlElement(“Type”)] public string typeName { get; set; } [XmlElement(“Data”)] public string dataValue { get; set; } } 如果数据没有分配任何值,我无法弄清楚如何以下面的格式实现数据。 Acknowledged by PPS

validationXDocument时捕获架构信息

这类似于这个问题C#在validationxml时获取模式信息 但是,我正在使用XDocument进行LINQ目的。 我正在读取/解析一组CSV文件并转换为XML,然后根据XSD架构validationXML。 我想捕获与元素值相关的特定错误,生成更加用户友好的消息,并将它们返回给用户,以便可以更正输入数据。 我想在输出数据中包含的项目之一是一些架构信息(例如数字类型的可接受值的范围)。 在我目前的方法(我愿意改变)中,除了架构信息之外,我能够捕获我需要的一切。 我已经尝试访问Validation事件处理程序的ValidationEventArgs参数中的SourceSchemaObject ,但它始终为null。 我也尝试过XElement的GetSchemaInfo ,看起来也是null。 我正在使用RegEx来识别我想要捕获的特定validation错误,并通过validation事件处理程序的sender参数从XElement中获取数据。 我曾想过将模式转换为XDocument并通过LINQ获取我需要的东西,但在我看来应该有更好的选择 这是我目前的validation方法: private List this.validationWarnings; private XDocument xDoc; private XmlSchemaSet schemas = new XmlSchemaSet(); public List Validate() { this.validationWarnings = new List(); // the schema is read elsewhere and added to the schema set this.xDoc.Validate(this.schemas, new ValidationEventHandler(ValidationCallBack), true); return validationWarnings } 这是我的回调方法: private void […]

CLR在SQL Server内部组装C#

是否有可能在C#中创建一个大项目(很多函数),然后, 然后,为它创建CLR程序集 在SQL Server IN STORED PROC中,调用程序集中的函数, 该表(我将传递给ASSEMBLY)在其他存储过程中计算… 如果是这样,步骤是什么? 我在想这样的事情。 — I have a stored proc that gets a table, let it be myStoredProcTable –FIST ENABLE DATA ACCESS EXEC sp_serveroption ‘TheServerName’, ‘DATA ACCESS’, TRUE –main.sql calls yStoredProcTable.sql and the calls functionAssembly SELECT * INTO #tmpTable FROM OPENQUERY(SERVERNAME, ‘EXEC test.dbo.myStoredProcTable 1’) — pass the table to […]

通过C#中的XmlSerializer类反序列化多个具有相同名称的XML元素

我在表单中有一个XML 0 0 0 1 0 0 0 0 0 480 1020 0 我需要对其进行反序列化,更改其内容并将其保存回来。 我在阅读ScheduledDay元素时遇到问题。 我的class级就像 public class BackupScheduleSettings { public BackupScheduleSettings() { ScheduledDay = new int[7]; } ….. public int[] ScheduledDay { get; set; } ….. } 现在,当我加载具有ScheduledDay正确值的XML内容时,我的类数组仍为NULL。 我无法修改XML的内容/格式,因为它是遗留代码。 我不想使用XDocument读取值,因为它是一个大型XML,我需要再次序列化它。 我没有任何帮助就搜索了很多。 任何想法将受到高度赞赏。 谢谢…

更改XmlSerializer输出临时程序集的位置

我试图改变XmlSerializer输出临时程序集的位置,所以我遵循这种教程 http://www.hanselman.com/blog/ChangingWhereXmlSerializerOutputsTemporaryAssemblies.aspx 但是,当我添加 我得到tempFileLocation不是一个有效的属性。 我正在使用.net 4.0 名称改变了什么?

将JSON转换为XML

我试图将JSON输出转换为XML。 不幸的是我收到此错误: JSON根对象具有多个属性。 根对象必须具有单个属性才能创建有效的XML文档。 考虑指定DeserializeRootElementName。 这就是我现在创建的内容。 string url = string.Format(“https://graph.facebook.com/{0}?fields=posts.fields(message)&access_token={1}”, user_name, access_token); HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { StreamReader reader = new StreamReader(response.GetResponseStream()); jsonOutput = reader.ReadToEnd(); Console.WriteLine(“THIS IS JSON OUTPUT: ” + jsonOutput); } XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(jsonOutput); Console.WriteLine(doc); 这是我的JSON输出: {“id”:”108013515952807″,”posts”:{“data”:[{“id”:”108013515952807_470186843068804″,”created_time”:”2013-05-14T20:43:28+0000″},{“message”:”TEKST”,”id”:”108013515952807_470178529736302″,”created_time”:”2013-05-14T20:22:07+0000″} 我怎么解决这个问题?