Tag: xml

在C#中将asapx webservice中的Soap Request Header从text / xml更改为soap / xml

我需要打电话给网络服务。 我生成了一个代理并调用了该方法。 但它一直都在失败。 因为API在头文件中需要soap / xml,而在Visual Studio中生成的代理客户端在头文件中发送text / xml。 问题:是否可以更改生成的代理客户端的Content-Type标头的值?

如何将xml数据附加到xml文件中

我试图将集合类转换为xml数据并将xml数据附加到xml文件这里是我的函数’ public void XmlWriter(List Femails) { string ErrorXmlFile = @”../../Retries.xml”; try { if (!File.Exists(ErrorXmlFile)) { XmlSerializer xSeriz = new XmlSerializer(typeof(List)); FileStream fs = File.Open(ErrorXmlFile, FileMode.Append, FileAccess.Write, FileShare.ReadWrite); xSeriz.Serialize(fs, Femails); } else { foreach(Email email in Femails) { XmlDocument doc = new XmlDocument(); doc.Load(ErrorXmlFile); XmlNode xnode = doc.CreateNode(XmlNodeType.Element, “ArrayOfEmail”, null); XmlSerializer xSeriz = new XmlSerializer(typeof(Email)); StringWriter […]

如何使用XSD.exe从C#类型生成XML Schema,以便属性映射到所需的XML属性?

简单地说,当我使用XSD.exe(Visual Studio 2012附带)从这个类生成XML模式文件时: [Serializable] public class Person { [XmlAttribute] public string Name { get; set; } [XmlAttribute] public int Age { get; set; } } 我得到了这个结果: 请注意, Age属性在生成的模式中指定为必需(它具有use =“required” ),而属性Name不是。 我像这样使用XSD.exe: xsd.exe Sample.exe /type:Person 其中Sample.exe是.NET程序集,其中定义了Person类。 我想以某种方式在我的类中指定哪些XmlAttribute属性是必需的,哪些不是这样XSD.exe可以自动生成模式。 这可能吗?

从xmlDocument中选择特定的xml节点,然后更改xml节点的属性

我在C#中的xml文档中有一个简单的xml节点,我想查询,然后将visible属性的值设置为false。 下面是xml。 我需要能够通过节点名称(DGField)和text_id(Test.ChangeRank)选择节点。 有谁知道如何做到这一点? 提前致谢。

LINQ to XML递归查询

我有一个像文档树一样的xml站点地图,它看起来像这样: FileName Admin FileName FileName FileName FileName *请注意,这不是我的实际xml文件。 实际的xml文件太大而无法显示。 基本上你需要消除的是,有可能存在“X”数量的文件夹彼此嵌套,并且在这些文件夹中的某些点上,可能存在“X”数量的文件以及子文件夹。 此外, 某些文件夹具有安全性,该文件夹由文件夹中的所有内容 (文件,子文件夹,子文件夹中的文件等)inheritance。 我试图提出一个LINQ to XML查询,以获得基于该文件GUID的给定文件的安全性,它适用于level-1和level-2文件,但是当我尝试在一个文件上运行查询时文件是3个文件夹深,它失败,我得到一个nullreferenceexception。 这是我正在使用的查询: XDocument sitemap = XDocument.Load(HttpContext.Current.Server.MapPath(“/…/sitemap.xml”)); XElement fileFromMap = sitemap.Descendants(“File”).Where( file => file.Attribute(“GUID”).Value == guid).First(); XElement currentFile = new XElement(“File”, fileFromMap.Value, fileFromMap.Ancestors(“Folder”).SelectMany( folder => { XElement security = folder.Element(“Security”); return (security != null ? security.Elements(“Role”) : null); })); *和信用到期的信用,我在这里得到了这个查询 nullreferenceexception发生在currentFile变量的声明中,我不知道为什么。 […]

如何比较两个xml节点?

我的XML节点有6个属性,但事情是从这些属性我需要检查天气2属性是否相等。 如果相等则应省略该条目,否则必须写入XML文件 我正在尝试代码 private static bool checkDuplication(XmlElement Xtemp, XmlNodeList xmlNodeList) { foreach (XmlNode node in xmlNodeList) { for (int i = 0; i < ComparableAttributes.Count(); i++) { if (node == Xtemp) { return true; } } } return false; } 它不工作!

如何从xml构建.xsd文件?

有没有办法从xml文件生成xsd? 是否有任何类文件可以执行此操作? 我不介意解决方案是c#还是java。 我想在代码中执行此操作,但如果有任何好的免费工具也可以。 谢谢

WCF返回Streams或Strings?

我一直对WCF和返回类型越来越感到沮丧。 我目前正在研究一种从SQL读取数据的方法,根据检索的数据量创建某种类型的新对象,然后使用从SQL检索的数据分配对象值。 我有适当的function来序列化为JSON和XML。 理想情况下,我想将我的序列化对象转换为字符串,以便我可以以转换的方式从浏览器中读取响应,希望以下示例更具说明性。 我在序列化对象并返回流时获得的好处是格式化是完美的,并且它在类中使用我的DataMembers,因此JSON中的响应将如下所示: {“GameID”:1,”ProposalID”:5} 但是当我在浏览器中检索数据时,它会要求我保存流文件,我在记事本中打开流来查看此结果。 这并不理想,因为结果不会作为字符串出现在浏览器上。 如果我返回一个字符串,我会得到数据,但是使用DataMembers没有正确格式化或者序列化的任何优点,因此信息非常简单,没有意义: “3151” 从这个例子中可以看出,我还检索了2个每个2个变量的SQL字段。 我不确定如何将结果附加到流上,因为它只返回最后一个结果(5,1),更不用说正确地返回它们了。 虽然我不确定我是否可以粘贴一些我想要实现的东西,但无论如何它都是: http : //api.justin.tv/api/user/show/justin.json 我的直接想法是使用XMLWriter或某种手动编写信息,但我希望能够为序列化和DataMemberfunction支付红利。 我的回程代码: foreach (MatchProposal proposal in Proposals) { returnStream = WriteJSON(SerializeToJSON(proposal)); } public MemoryStream SerializeToJSON(object serializeObject) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(serializeObject.GetType()); MemoryStream memoryStream = new MemoryStream(); serializer.WriteObject(memoryStream, serializeObject); return memoryStream; } public Stream WriteJSON(MemoryStream memoryStream) { string json […]

在.NET中过滤XML文档中元素的最简单方法

假设我有以下文档 set1 80 EVersion Val R 0 0 8 set3 50 GVersion Bin R 0 0 8 我只想要ID和值元素 – set1 80 set3 50 我如何使用XDocument和LINQ选择这些?

控制XML名称空间的顺序

我在将“xmlns”首先出现在根属性列表中时遇到问题。 我得到这个: somecontent 我想要这个: somecontent 我的代码如下所示: XNamespace rt = “http://www.someurl.com/ns/myroot”; XNamespace xsi = “http://www.w3.org/2001/XMLSchema-instance”; var submissionNode = new XElement(XmlNameSpaces.rt + “myroot”); submissionNode.Add(new XAttribute(XNamespace.Xmlns + “xsi”, “http://www.w3.org/2001/XMLSchema-instance”)); submissionNode.Add(new XAttribute(xsi + “schemaLocation”, @”http://www.someurl.com/ns/myroot http://www.someurl.com/xml/schemas/myschema.xsd”);); 改变订单我需要做些什么? 编辑:我理解订单通常不是相关的,但在这种情况下它是一个要求。