Tag: xml

反序列化.NET后的XML中的对象位置(行,列)

在使用XmlSerializer反序列化到.NET对象后,如何在xml标记的原始xml文件中获取位置? 这是一个示例XML 4 ABC Bern 3 ABCD Prague XML到C#对象映射 [XmlRoot(“Root”)] public class AddressDetails { [XmlElement(“Number”)] public int HouseNo; [XmlElement(“Street”)] public string StreetName; [XmlElement(“CityName”)] public string City; } 期望的结果 XmlSerializer serializer = new XmlSerializer(typeof(List)); var list = serializer.Deserialize(@”C:\Xml.txt”) as List; // this is what I would like to do // getting information to origin of the […]

c#encrypt xml文件

告诉我加密XML文件的最简单方法。 它是一个用于某些配置的文件,不希望人们乱用它。 安全性不是问题,因为它是一种私有工具。

在单个方法中针对XSDvalidationXML

我需要实现一个C#方法,该方法需要针对外部XSDvalidationXML并返回一个布尔结果,指示它是否格式正确。 public static bool IsValidXml(string xmlFilePath, string xsdFilePath); 我知道如何使用回调进行validation 。 我想知道它是否可以在一个方法中完成,而不使用回调。 我需要这个纯粹用于美容目的:我需要validation多达几十种类型的XML文档,所以我想做的就像下面这样简单。 if(!XmlManager.IsValidXml( @”ProjectTypes\ProjectType17.xml”, @”Schemas\Project.xsd”)) { throw new XmlFormatException( string.Format( “Xml ‘{0}’ is invalid.”, xmlFilePath)); }

XML解析器,多个根

这是输入字符串的一部分,我不能修改它,它总是以这种方式(通过共享内存),但我可以修改后,我把它放入一个字符串当然: SCPUCLKCPU Clock2930SCPUMULCPU Multiplier11.0SCPUFSBCPU FSB266 我用两个都读过它: String.Concat( XElement.Parse(encoding.GetString(bytes)) .Descendants(“value”) .Select(v => v.Value)); 和: XmlDocument document = new XmlDocument(); document.LoadXml(encoding.GetString(bytes)); XmlNode node = document.DocumentElement.SelectSingleNode(“//value”); Console.WriteLine(“node = ” + node); 但是他们跑步时都有错误; 输入有多个根(有多个根元素引用),我不想分割字符串。 他们以任何方式读取字符串都取和之间的而不将字符串拼接成多个输入?

如何XML序列化’类型’

如何序列化“类型”? 我想序列化为XML一个具有属性的对象,该属性是一种对象。 这个想法是,当它被反序列化时,我可以创建一个这种类型的对象。 public class NewObject { } [XmlRoot] public class XmlData { private Type t; public Type T { get { return t; } set { t = value; } } } static void Main(string[] args) { XmlData data = new XmlData(); data.T = typeof(NewObject); try { XmlSerializer serializer = new XmlSerializer(typeof(XmlData)); try { […]

.NET-Assemblies的默认(程序集).dll.config文件有什么用?

我对C#中的AppSettings有疑问。 首先,我将描述我的情况。 我的解决方案包括一个可执行程序program.exe和一个assembly.dll 。 该程序引用程序集并使用它。 程序集项目具有使用Visual Studio项目设置管理器设置的应用程序设置。 现在当我在assembly\bin\release文件夹中编译我的解决方案时,有一个assembly.dll.config文件,其中包含我之前设置的设置。 现在我不明白的事情:在我的程序项目中我引用了assembly.dll我已经检查了CopyLocal=True ,但是在我的program\bin\release文件夹中只有assembly.dll而不是assembly.dll .config文件但仍然是assembly.dll知道我在程序集项目应用程序设置中设置的设置。 现在我已经多次读过程序集总是访问可执行程序的设置但程序没有相应的设置,那么为什么程序集在没有assembly.dll.config文件时知道正确的设置? 我假设设置在编译时被编译到程序集中(当然),但是在我的assembly \ bin \ release文件夹中实际上有一个assembly.dll.config文件是没有意义的。 我尝试将此文件复制到我的program\bin\release文件夹中,其中assembly.dll被复制到构建操作,但如果在同一文件夹中存在assembly.dll.config文件,则assembly.dll忽略。 它始终使用来自compiletime的设置。 我只是不明白使用assembly.dll.config文件。 当它从未对assembly.dll´s行为产生影响时,为什么会创建它?

使用linq对XMLDocument进行排序

我似乎无法弄清楚如何做到这一点。 这里还有其他一些例子,但没有什么能与我想要做的完全匹配: 请考虑以下XMLDocument对象: 1 3 2 我将如何使用linQ或其他方法基于节点“sortOrder”对此文档进行排序? 排序后,outerxml基本上应该是这样的: UPDATE 我已经取得了一些进展,数据现已排序,但如何更新原始未分类的XmlDocument? 这是我到目前为止: private static void DoSort(XmlDocument policyDocument) { foreach(XmlNode coverGroup in policyDocument.SelectNodes(“//CoverGroup”)) { XDocument test = XDocument.Parse(coverGroup.OuterXml); var sorted = from xe in test.Element(“CoverGroup”).Elements() let so = xe.Element(“properties”).Element(“displayOrder”) let num = (int)so orderby num select xe; var result = new XElement(“CoverGroup”, sorted); } } 我需要将更改应用回“policyDocument”。 注意:封面可以有自己的封面组,然后可以再次使用它自己的封面组封面。 […]

ASP.net从URL加载XML文件

试图只是简单地解析XML文件; protected void Page_Load(object sender, EventArgs e) { XmlDocument xdoc = new XmlDocument();//xml doc used for xml parsing xdoc.LoadXml(“http://latestpackagingnews.blogspot.com/feeds/posts/default”);//loading XML in xml doc XmlNodeList xNodelst = xdoc.DocumentElement.SelectNodes(“entry”);//reading node so that we can traverse thorugh the XML foreach (XmlNode xNode in xNodelst)//traversing XML { litFeed.Text += “read”; } } 但我得到: 根级别的数据无效。 第1行,第1位。 我是否必须首先对该文件执行XMLHTTP请求? 或者我是否正确地假设我可以从外部url加载它?

在C#中解析XML数据并显示到ListBox中

我正在尝试使用Visual Studio在C#中解析XML文件并在ListBox中显示数据,但是当我处理嵌套的XML文件时,我不知道如何解析它。 这是XML文件中的代码: <!DOCTYPE root [ ]> true 30 false 32 我用C#编写的代码成功地只返回了每个人的姓名,性别和年龄,但我不知道如何写信给我以及person_liked: private void LoadPersons() { XmlDocument doc = new XmlDocument(); doc.Load(“Baza_de_cunostinte.xml”); foreach (XmlNode node in doc.DocumentElement) { string name = node.Attributes[0].Value; int age = int.Parse(node[“Age”].InnerText); bool isMale = bool.Parse(node[“IsMale”].InnerText); // Persons likedPerson.name = Persons.node.Attributes[0].Value ? // ….. listBox.Items.Add(new Persons(name, age, isMale, likedPerson)); } } […]

为什么SelectSingleNode返回null?

我正在使用包含类似于此的结构的XML文档: . . . 我正在以这种方式将文件从文件加载到XML文档中: XmlDocument xdoc = new XmlDocument(); xdoc.Load(“somefile.xml”); //Successfully loads btw 但是,当我尝试运行下一行代码时,我遇到了一个问题,只有这个特定的文档: xdoc.SelectSingleNode(“//event[@id=’1′]”); //This returns a null 我是否在正确的轨道上猜测这是因为使用名为’id’的属性的问题或者我在代码中遗漏了某些东西而返回null?