草庐IT

情况表

全部标签

xml - 如何在不将其加载到内存和使用 XElement 的情况下读取大型 xml 文件

我想读取一个大的xml文件(100+M)。由于它的大小,我不想使用XElement将它加载到内存中。我正在使用linq-xml查询来解析和读取它。最好的方法是什么?任何关于XPath或XmlReader与linq-xml/XElement组合的例子?请帮忙。谢谢。 最佳答案 是的,您可以将XmlReader与methodXNode.ReadFrom结合使用,请参阅文档中的示例,该示例使用C#选择性地将XmlReader找到的节点作为XElement进行处理。 关于xml-如何在不将其加载

xml - 是否可以在不单独保存字段的情况下将记录保存到 XML 文件?

我有一个很大的记录,它由许多不同类型的字段和动态数组组成。我想把它保存到一个文件中,然后再读回来。想象一下这个简单的记录:TCustomRecord=RecordField1:arrayofinteger;Field2:Integer;Field3:String;end;通常我必须使用类似这样的方法将这条记录保存到文件中:varf:FileofTCustomRecord;cr:TCustomeRecord;beginWrite(f,cr);end;但是因为是动态数组和字符串类型所以不行。所以问题是:有没有一种方法可以在不遍历所有字段的情况下将其保存(导出)到TXMLDocument?(

c# - 如何在不包装元素的情况下对多态数组进行 XML 序列化

想要将我的数据序列化为:但我得到的是这个(注意包装的Commands元素)这是用于生成此代码的示例代码:publicclassBaseCommand//baseclass{[XmlAttribute]publicstringResult{get;set;}}publicclassExecuteCommand:BaseCommand{[XmlAttribute]publicstringCommand{get;set;}}publicclassWaitCommand:BaseCommand{[XmlAttribute]publicintSeconds{get;set;}}publiccla

xml - 您可以在不使用 XSL 转换/解析 XML 的情况下在 XML 中声明和使用变量吗

假设您有一个要在应用程序中读取的XML元素,但是您有多个环境,其中依赖文件的路径可能会更改...所以你会想要引用相对目录@path="c:\ProgramFiles\MyProgram\"是否可以使用在XML本身中声明的变量来引用相对目录路径? 最佳答案 您需要将DOCTYPE声明添加到您的文件,在那里声明一个实体,然后在文档正文中引用该实体。]> 关于xml-您可以在不使用XSL转换/解析XML的情况下在XML中声明和使用变量吗,我们在StackOverflow上找到一个类似的问题:

c# - 如何在不知道级别的情况下获取具有相同名称的所有 XML 节点?

我有一个XML示例:我有4个Red_fruits标签,其中2个共享相同的ParentNode(Fruits),我想获得那些具有相同ParentNode的标签。但我只想要那些具有相同名称(Red_fruits)的那些,这意味着不包括Yellow_fruits标签。这是我现在使用C#语言的方式:XmlDocumentdoc=newXmlDocument();stringselectedTag=cmbX.text;if(File.Exists(txtFile.text)){try{//Loaddoc.Load(cmbFile.text);//SelectNodesXmlNodeListsel

c# - 如何在不向前移动的情况下从 XmlReader 读取?

我得到了这个场景:while(reader.Read()){if(reader.NodeType==XmlNodeType.Element&&reader.Name==itemElementName){XElementitem=null;try{item=XElement.ReadFrom(reader)asXElement;}catch(XmlExceptionex){//loglinenumberandstufffromXmlExceptionclass}}}在上面的循环中,我将某个节点(itemElementName)转换为XElement。一些节点将是良好的XML并将进入XEl

c# - 如何在不在所有子节点中使用 XNamespace 的情况下为子节点创建具有默认命名空间的 XElement

我正在尝试使用System.Xml.Linq创建XHTML文档。因此,我的树中的绝大多数节点都应该使用这个命名空间:http://www.w3.org/1999/xhtml我可以使用XNamespace轻松创建作用域为该命名空间的XElement节点,如下所示:XNamespacexhtml="http://www.w3.org/1999/xhtml";//...newXElement(xhtml+"html",//...但是,我不想让XNamespace在创建HTML节点的所有代码中都可用,并且必须在每个XElement(和XAttribute)我相应创建的名称。XML文本格式本身考

xml - 如何忽略 JAXB 中的意外元素情况?

如何忽略JAXB中的意外元素情况并仍然得到所有其他类型的javax.xml.bind.UnmarshalException?obj=unmler.unmarshal(newStringReader(xml))注意我还是想获取xml解析的obj结果。 最佳答案 解决方案。在JAXB中,像这样实现ValidationEventHandler:classCustomValidationEventHandlerimplementsValidationEventHandler{publicbooleanhandleEvent(Validati

xml - 如何在没有严格元素顺序的情况下定义 DTD?

作为一个XML“菜鸟”,我发现在创建根据DTD验证的XML流/文件时元素顺序的重要性。是否可以定义一个不依赖于元素顺序的DTD?如果,那么请提供句法示例。 最佳答案 您使用或(垂直管道)和repeat(星号:)这意味着eltype1可以包含任意数量的eltype2或eltype3重复。 关于xml-如何在没有严格元素顺序的情况下定义DTD?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

sql-server - 如何在不知道树是否已经存在的情况下将元素插入到 xml 列中?

我在SQLServer2008中有一个值表,我希望从中将值插入到另一个表的匹配行内的XML列中。xml列可能包含也可能不包含指向我要插入的元素的所有标记。我可以通过多次更新实现这个/xml.modify声明以确保标签在插入元素之前存在,但这似乎效率很低,如果我想插入元素5或10个标签深怎么办?这是一个创建的exampleinSQLfiddle设置是我有2个表(在这里进行了简化/制作以形成一个可以理解的场景)CREATETABLEtableColors(idnvarchar(100),colornvarchar(100))CREATETABLExmlTable(idnvarchar(10