![]() |
1
30
您可以使用system.xml.linq名称空间材料来获得最容易读取的代码。这将把整个文件加载到内存中。
|
![]() |
2
5
编辑:没有看到关于xmldocument的子句。xmlReader就是这样做的。不能用此类编辑XML文件。 你想要XML编写器。但是,如果它仍然有用,这里是xmldocument的代码。
|
![]() |
3
2
您可以使用xmlReader读取到一个类中,该类通过xmlWriter将数据泵出,并在读/写之间扫描元素,根据需要更改该值。 说实话,我有点惊讶你的XML文件这么大,你担心内存消耗…不说这从来都不是问题。如果没有更多的信息,我不能说您假设的XML文件不是50GB,但是在许多情况下,将看起来大到足以操作的文件加载到内存中并没有您想象的那么大。 |
![]() |
4
2
您考虑过使用linq-to-xml吗?(如果您使用的是.NET 3.0+)
我猜Xelement的性能会比XMLDocument好(尽管不确定),Xelement的基对象是XObject,是的,它必须加载整个文档。 |
![]() |
5
2
使用仅向前读卡器肯定是最有效的方法,在这种情况下,XML读卡器派生似乎是合适的,尽管它比使用一次性加载整个文件的DOM方法更有效。 XMLRead被认为是对起源于Java世界的SAXXML解析器API的改进,但它已经成为业界的阿德事实标准(微软之外)。 如果您只想快速完成任务,那么xmlTextReader就是为此目的而存在的(在.NET中)。 如果您想学习一个稳定的事实上的标准(在许多编程语言中也可以使用),这将迫使您非常高效、优雅地编写代码,但这也是非常灵活的,那么请看SAX。 但是,不要为SAX本身操心,除非您要创建非常深奥的XML解析器。外面有很多解析器在封面下使用SAX。 请结账离开 我对SAX的回应这里列出了SAX资源和真正的创造性 .NET XML解析器概念 它使用XMLTRealDADER作为其基础: SAX vs XmlTextReader - SAX in C# |
![]() |
6
2
这将使用一个旧文件并创建一个具有更新值的新文件。如果找不到元素,它将引发异常
|
![]() |
7
1
我对一个10.6 k的文档进行了一些测试。解析XML文档的速度总是比Linq查询快50%。
结果如下(xmldocticks、linqticks):
|
![]() |
8
1
这很像本·罗宾的例子,只是它起作用了(尽管他的也起作用了,现在已经被编辑了)。我甚至给了你使用指令! |
![]() |
9
0
加载与保存
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 4 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 5 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 5 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |