草庐IT

Linq2XSD

全部标签

c# - NLog 自定义目标 XSD 警告

我创建了一个customtargetforNLog它工作正常,但是当我编辑nlog.config文件时,我收到一条警告Thisisaninvalidxsi:type'http://www.nlog-project.org/schemas/NLog.xsd:LogMillMessageBus'这是我的nlog.config文件:我能以某种方式创建自己的xsd附加http://nlog-project.org/schemas/NLog.xsd吗?这样我就不会收到警告? 最佳答案 最简单的方法是安装这个包https://nuget.org

xml - 创建具有限制的 XSD 可选小数元素

我已经成功地使用这个创建了一个可选的小数元素:但我还需要添加限制,例如,如果已输入,则将其限制为最大长度10和最大3位小数。所以我得到了这个:问题是我不知道如何组合它们。它们可以结合吗?或者有更好的方法吗? 最佳答案 感谢凯文的建议,我想出了这个办法: 关于xml-创建具有限制的XSD可选小数元素,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7876049/

xml - XSD:可以具有简单内容或元素上下文的复杂类型

我正在为相当复杂的XML文件格式编写XSD。在许多情况下,XML可以包含实际文字值或生成该值的脚本。(想想Excel:42与=21+21)例如,要指定一个大小,写以下任何一个应该是有效的:422*21我的第一个想法是使用允许size中的int或脚本元素。但是,然后我将不得不给字符串元素一个名称,导致像42这样的笨拙语法。.由于文字的使用频率远高于脚本,因此我不想让它们的语法变得臃肿。关于如何在XSD中表达初始语法有什么想法吗? 最佳答案 我认为有两个不错的选择。不要在中放置任何子元素在任一情况下。相反,您可以在尺寸元素上设置“类型”

c# - 使用 LINQ 解析 XDocument

我正在对XDocument执行以下查询.最后一级.Descendants("Instance")产生以下形式的XElement列表:filepath1filepath2filepath3filepath4查询ListfileNames=xDoc.Descendants("Main").FirstOrDefault().Descendants("SecondLevel").FirstOrDefault().Descendants("Instance").Select().ToList();//thislineisnotcorrect.Needtogettheinstancesnodeva

xml - 如何创建xmlns :xsi and xsd information in an XML document

我有一个DelphiXE应用程序,它读取经过验证的XML文件,修改它,然后保存它。可以验证保存的版本。我使用SMLSpy创建文件并验证它。现在我需要在内存中创建一个文档并保存它。问题是我无法弄清楚如何为文档生成xmlns和xsd信息属性,以便对其进行验证。 最佳答案 实际上,尽管我在上面发表了评论,但我发现最简单的方法不是使用DeclareNamespace。这是一个甚至不在表单上使用TXMLDocument的示例。只需将xmldom、XMLIntf和XMLDoc添加到您的实现uses子句(Xml.xmldom,Xml.XMLInt

xml - 使用什么算法根据 XSD 验证 XML?

我正在编写自己的验证XML解析器。(是的,我知道这是一项非常复杂的任务,使用libxml2或Xerces等现有产品将是更明智的选择。但这不是一个选择,所以请多多包涵。)将XML和XSD文件解析为树结构应该不是很困难。但是,我似乎无法弄清楚要使用什么算法来根据XSD验证XML树。我做了一些研究,但我发现的所有内容要么过于笼统(如何编写编译器等),要么过于具体(例如增量验证)。我有一些自己的想法,但它们都相当复杂,所以我真的很想在开始编码之前更加确定我的想法的有效性(无双关语)。在此先致谢,如果您认为可以提供帮助,请随时询问更多详情! 最佳答案

xml - xsd -xml 正则表达式验证不适用于使用 JAXB 的我

我写了一个简单的XSD,我按照XSD模式写了当我使用jaxb执行XML-XSD验证时,总是遇到XX标记错误。例如:abcd我不确定为什么会出现这种奇怪的行为?我希望我的正则表达式是正确的并且上面的示例应该通过验证。我是否遗漏了什么? 最佳答案 您需要从表达式中删除anchor^。XSD验证器不识别^或$anchor,而是将它们解释为文字字符。您可以通过将XML更改为^abcd来验证这一点并根据您当前的XSD对其进行验证。这样做的原因是您的模式自动绑定(bind)到字符串的开头和结尾。与尝试匹配值的正则表达式不同,此正则表达式用于验证

c# - 使用大量小 XML 文件使 LINQ 的文件 IO 更高效?

我有一批大约13,000个XML文件(并且可能每天增长数百个),我需要使用LINQ过滤和将数据转换为我需要的数据进行处理,并将七种可能的事件类型中的每一种聚合到一个单一的事件类型文件(见下文)。因此,13k个文件分成7个文件。XML中对事件类型进行了很好的描述,因此过滤和聚合相对容易。然后,这些聚合文件将用于使用我已经编写的脚本为我们的数据库创建一个MySQL插入语句,该脚本也运行良好。我有功能代码,它正在处理文件,但到目前为止它已经运行了23多个小时,看起来它可能只完成了大约一半(?)。我忘了放入一个文件计数器,所以我真的不知道,我也不愿意重新启动它。我可以根据原始文件的大小(360

c# - 如何通过LINQ遍历xml中的属性

请帮助我解决下面提到的具有xml的场景,我想要C#LINQ中的代码TamilnaduKarnatakaWIAWMelbournesydney既然我能够获取属性名称=“印度”,如何通过LINQ获取属性id=1的状态?以及如何给id=1我的意思是没有“1”的数值 最佳答案 您可以执行以下操作:null检查很重要,因为根据没有进行null检查的结构判断,您将得到一个NullReferenceException。XDocumentxml=XDocument.Load("yourFileLocation");varitems=document

c# - Linq to Xml : Is XDocument a caching reader?

我喜欢LinqtoXmlAPI。我用过的最简单的一个。我还记得它是在XmlReader上实现的,这是一个非缓存阅读器,意思是:varrdr=XmlReader.Create("path/to/huge_3Gb.xml");...将立即返回(可能最多读取xmlheader)。documentation对于XDocument.Load()声明确实,它正在使用XmlReader.Create().我预计,就像所有Linq一样,我会使用Linq2Xml获得延迟执行行为。但后来我尝试了这个,就像我通常对涉及文件的任何事情所做的那样:using(varxdoc=XDocument.Load("fi