Tag: linq to xml

XElement会自动将xmlns =“”添加到自身

我正在从表创建一个新的XDocument。 我必须从XSD文档validation文档并且它会一直失败,因为它不应该将xmlns =“”添加到其中一个元素。 这是相关代码的一部分。 XNamespace xsi = “http://www.w3.org/2001/XMLSchema-instance”; XNamespace xmlns = “https://uidataexchange.org/schemas”; XElement EmployerTPASeparationResponse = null; XElement EmployerTPASeparationResponseCollection = new XElement(xmlns + “EmployerTPASeparationResponseCollection”, new XAttribute(XNamespace.Xmlns + “xsi”, xsi), new XAttribute(xsi + “schemaLocation”, “https://uidataexchange.org/schemas SeparationResponse.xsd”)); XDocument doc = new XDocument( new XDeclaration(“1.0”, null, “yes”), EmployerTPASeparationResponseCollection); //sample XElement populate Element from database StateRequestRecordGUID = new XElement(“StateRequestRecordGUID”); StateRequestRecordGUID.SetValue(rdr[“StateRequestRecordGUID”].ToString()); […]

如何使用“路径”查询XDocument?

我想查询给定路径的XDocument对象,(例如“/ path / to / element / I / want”)但我不知道如何继续。

如何从XElement创建的节点中删除空xmlns属性

这是我的代码: XElement itemsElement = new XElement(“Items”, string.Empty); //some code parentElement.Add(itemsElement); 之后我得到了这个: 父元素没有任何名称空间。 我该怎么做才能获得没有空命名空间属性的Items元素?

XDocument.Load(XmlReader)可能的exception

调用XDocument.Load(XmlReader)时可能抛出的exception有哪些? 当文档无法提供关键信息时,很难遵循最佳实践(即避免使用通用的try catch块)。 提前感谢你的帮助。

使用LINQ创建List ,其中T:someClass

这与我的C#Generic List转换为实现List 的类的先前问题有关 我有以下代码: public abstract class DataField { public string Name { get; set; } } public class DataField : DataField { public T Value { get; set; } } public static List ConvertXML(XMLDocument data) { result = (from d in XDocument.Parse(data.OuterXML).Root.Decendendants() select new DataField { Name = d.Name.ToString(), Value = d.Value }).Cast().ToList(); return […]

是否可以根据表示其类型的字符串值创建对象实例?

我正在尝试基于XML文档中的字符串在LINQ-to-XML查询中动态创建某种类型的对象。 我习惯于能够在PHP和JavaScript中动态创建任何类型的对象,只需能够编写如下内容: $obj = new $typeName(); 理想情况下,我希望能够做到这样的事情: List = (from someObjs in XMLfile select new someObj() { Name = (string)someObjs.Element(“name”), NestedObj = new someObjs.Element(“nestedObj”).Element(“type”)() { NestedName = (string)someObjs.Element(“nestedObj”).Element(“name”) } }).ToList(); 如果不抓住当前正在执行的程序集,我就无法弄清楚如何做到这一点。

C#Generic List转换为实现List 的类

以下代码产生该问题 无法将类型’System.Collections.Generic.IEnumberable<DataField>’隐式转换为’DataFields’。 存在显式转换(您是否错过了演员?)。 我该如何解决这个问题? 我究竟做错了什么? public class DataFields : List { } public abstract class DataField { public string Name { get; set; } } public class DataField : DataField { public T Value { get; set; } } public static DataFields ConvertXML(XMLDocument data) { DataFields result = (from d in XDocument.Parse(data.OuterXML).Elements() select new DataField […]

使用LINQ从xml中删除元素

你好我有一个xml文件,如: mushfiq.com mee.con ttttt.co jkjhkhjkh jhkhjkjhkhjkhjkjhkh dasdasdasdasdasdas 现在我需要删除任何…并且将从文本框中随机提供值。 这是我的代码: XDocument doc = XDocument.Load(@”AddedSites.xml”); var deleteQuery = from r in doc.Descendants(“start”) where r.Element(“site”).Value == txt.Text.Trim() select r; foreach (var qry in deleteQuery) { qry.Element(“site”).Remove(); } doc.Save(@”AddedSites.xml”); 如果我将第一个元素的值放在文本框中,那么它可以删除它,但是如果我放置除第一个元素值之外的任何元素值,它就无法删除! 我需要我将任何元素的任何值…因为它可以是第二元素或第三或第四等等……任何人都可以帮助我吗? 提前致谢!

使用XDocument遍历节点的所有属性

我有以下存储表定义的xml。 如何使用XDocument(C#3.5)遍历传递的tablename的每一列(每个表只出现一次)及其属性 例如:如果用户通过CurrencySummary,我想读取每个列及其所有属性,如HeaderDescription,HeaderName等。 我试图通过以下方式实现这一目标:(编辑:根据Henk的建议) var doc = XDocument.Load(“TableDefinations.xml”); var cols = doc.Descendants(“CurrencySummary”).First(); foreach (var col in cols.Elements()) { foreach (XAttribute at in col.Attributes()) { //do something with the at.Name and at.Value } } 这是有效的方式还是有什么比这更好的?

使用XDocument时禁用XMLvalidation

我正在使用XDocument类解析XLIFF文档。 XDocument是否对我读入的内容执行了一些validation,如果是这样 – 是否有任何方法可以禁用该validation? 如果XLIFF不是有效的XML,我会得到一些奇怪的错误(我不在乎它不是,我只是想解析它)。 例如 ‘.’, hexadecimal value 0x00, is an invalid character. 我正在读这样的文件: string FileLocation = @”C:\XLIFF\text.xlf”; XDocument doc = XDocument.Load(FileLocation); 谢谢。