Tag: xml

在XMLSerializer的构造函数中发生了第一次机会exception

可能重复: XmlSerializer在构造函数中给出FileNotFoundException 当我使用XMLSerializer时,我收到了第一次机会exception, XMLSerializer xml = new XMLSerializer(typeof(A)) mscorlib.dll中发生了’System.IO.FileNotFoundException’类型的第一次机会exception 附加信息:无法加载文件或程序集“A.XmlSerializers,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”或其依赖项之一。 该系统找不到指定的文件。 没关系,但调试时很烦人。 是什么原因?

为什么我的XMLvalidation失败了它的架构?

我需要针对模式validationXML文件。 XML文件是在代码中生成的,在保存之前我需要validation它是否正确。 我把这个问题解决了它的最基本要素,但我遇到了问题。 XML: MRIDDemo 1234 1/1/2005 架构: ValidationCode :(这段代码来自我编写的一个简单应用程序来测试validation逻辑.XML和XSD文件存储在磁盘上并从那里读取。在实际的应用程序中,XML文件已作为XmlDocument存在于内存中对象和XSD将从内部Web服务器读取。) private void Validate() { XmlReaderSettings settings = new XmlReaderSettings(); settings.ValidationType = ValidationType.Schema; //settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema; //settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessSchemaLocation; //settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings; settings.ValidationEventHandler += new ValidationEventHandler(OnValidate); XmlSchemaSet schemas = new XmlSchemaSet(); settings.Schemas = schemas; try { schemas.Add(null, schemaPathTextBox.Text); using (XmlReader reader = XmlReader.Create(xmlDocumentPathTextBox.Text, settings)) { validateText.AppendLine(“Validating…”); […]

拆分XML文档,从重复元素创建多个输出文件

我需要获取一个XML文件,并从输入文件的重复节点创建多个输出xml文件。 源文件“AnimalBatch.xml”如下所示: One Red Rooster Two Stubborn Donkeys Three Blind Mice 程序需要拆分重复的“Animal”并生成3个名为Animal_1001.xml,Animal_1002.xml和Animal_1003.xml的文件。 每个输出文件应该只包含它们各自的元素(它们是根)。 来自AnimalsBatch.xml的id属性将提供Animal_xxxx.xml文件名的序列号。 id属性不需要在输出文件中。 Animal_1001.xml: One Red Rooster Animal_1002.xml Two Stubborn Donkeys Animal_1003.xml> Three Blind Mice 我想用XmlDocument来做这件事,因为它需要能够在.Net 2.0上运行。 我的程序看起来像这样: static void Main(string[] args) { string strFileName; string strSeq; XmlDocument doc = new XmlDocument(); doc.Load(“D:\\Rick\\Computer\\XML\\AnimalBatch.xml”); XmlNodeList nl = doc.DocumentElement.SelectNodes(“Animal”); foreach (XmlNode n in nl) { […]

如何在C#中针对DTDvalidationXML文档?

我不想做任何花哨的事情,我只想确保文档有效,如果没有,则打印错误信息。 Google向我指出了这一点 ,但似乎XmlValidatingReader已经过时了(至少,这是MonoDevelop告诉我的)。 编辑:我正在尝试Mehrdad的提示,但我遇到了麻烦。 我想我已经掌握了大部分内容,但我无法在任何地方找到OnValidationEvent。 我从哪里获得OnValidationEvent? XmlReaderSettings settings = new XmlReaderSettings(); settings.ValidationType = ValidationType.DTD; settings.ValidationEventHandler += new ValidationEventHandler(/*trouble is here*/); XmlReader validatingReader = XmlReader.Create(fileToLoad, settings);

为什么’xmlns’属性会影响XPath节点查找?

以下代码完美无缺。 请参阅下面的XML文件。 XPathDocument xPathDoc = new XPathDocument(@”C:\Authors.xml”); XPathNavigator navigator = xPathDoc.CreateNavigator(); XPathNodeIterator iterator = navigator.Select(“/Contacts/Author/FirstName”); iterator.MoveNext(); string firstName = iterator.Current.InnerXml; Console.WriteLine(firstName); ‘firstName’的值返回’Joe’,这是完美的。 但是,当我将这个attibute xmlns =“http://www.w3.org/1999/xhtml”添加到”标签时,它看起来如下: 然后代码没有返回正确的值(’Joe’)为什么然后属性xmlns =“http://www.w3.org/1999/xhtml”影响上面的代码以及我缺少什么来返回正确的值? 任何帮助将不胜感激。 这是xml文件: Joe Larry Mary

C#:从/向XML读取/写入DateTime

我需要知道将日期时间写入/读取xml的最佳方式。 我应该直接将DateTime写入XML或DateTime.ToString()到XML中。 第二个问题是如何从xml中读取日期元素。 可以使用铸造; (DateTime)rec.Element(“Date”)。value或我需要像这样解析字符串DateTime.Parse(rec.Element(“Date”)。value)

从c#/ xpath获取属性值

我有一个app.config文件,需要获取属性的值: Liquid XML Studio提供以下xml: /configuration/log4net/appender/param[1] 但是,C#代码可以使用xpath来获取值?

使用C#在XML文档中查找特定值的好方法是什么?

我正在调用Oracle公开的WebService,它接受ItemID的输入并返回相应的Item Number。 我想获取已从响应中包含的XML返回的Item Number。 XML看起来像这样: 1010603 我只想抓取1010603特别是只抓取1010603。 我没有做过很多使用C#解析XML的工作,到目前为止我正在使用一些不同的方法。 建议的方法是什么? 我在VS2008上(所以XPath可用等)

Linq-to-XML查询,以根据其他条件选择特定的子元素

我当前的LINQ查询和示例XML如下所示。 我想要做的是从email-addresses元素中选择主电子邮件地址到User.Email属性。 如果为true,则email-address元素下的type元素设置为primary。 电子邮件地址下可能有多个元素,但只有一个元素将标记为主要元素。 这里最简单的方法是什么? 当前Linq查询(User.Email当前为空): var users = from response in xdoc.Descendants(“response”) where response.Element(“id”) != null select new User { Id = (string)response.Element(“id”), Name = (string)response.Element(“full-name”), Email = (string)response.Element(“email-addresses”), JobTitle = (string)response.Element(“job-title”), NetworkId = (string)response.Element(“network-id”), Type = (string)response.Element(“type”) }; 示例XML: primary alice@domain.com Account Manager user Eastern Time (US & Canada) Domain Alice 79629 2 […]

如何阻止XMLReader抛出无效的XML字符exception

所以我有一些XML: my tagmy tag value and my invalid Character 和XMLReader: using (XmlReader reader = XmlReader.Create(new StringReader(xml))) { while (reader.Read()) { //do my thing } } 我已经从这里实现了CleanInvalidCharacters方法,但由于“&#xB”尚未编码,因此不会被删除。 读者错误正在抛出.Read(); 有exception的行: hex值0x0B,是无效字符。