首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该在.Net 4中使用哪个Xml操纵组件?

我应该在.Net 4中使用哪个Xml操纵组件?
EN

Stack Overflow用户
提问于 2010-09-02 01:41:17
回答 2查看 197关注 0票数 0

我已经很久没有操作过原始的XML了。我曾经使用过XmlDocument,记得有一种叫做XDocument的东西开始进化,但那是几年前的事了。在这些日子里,M$推荐什么?

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-02 01:44:15

XDocument是LINQ to XML的一部分--现在我99%的XML工作都会用到它。

LINQ to XML并不完全像它听起来那样--例如,它并不是LINQ to SQL那样的LINQ提供程序。它是一个XML API,被设计成可以很好地处理LINQ to对象。它支持声明式构造模型,它的查询非常适合LINQ to Objects,让你可以很容易地找到元素、属性等。

哦,它的名称空间支持非常简单:

代码语言:javascript
复制
XNamespace ns = "http://some.url.here";
XElement element = new XElement(ns + "elementName");

基本上它是可爱的-在大多数情况下,它比使用XmlDocument和XmlReader要好得多。偶尔,XmlReader可能对提高流传输效率很有用,但您可以从XmlReader创建一个XElement,它只读取"current“元素,并将XmlReader定位在它之后。这允许某种具有LINQ to XML优点的“结构化流”,只要一次只需要一个元素(当然还有任何子元素)。

关于eidylon的回答: C#不支持XML文本;它认为一种语言不应该直接涉及特定的技术。你认为这是一件多大的事情,这是个人问题:)

票数 3
EN

Stack Overflow用户

发布于 2010-09-02 01:44:45

哪种语言?在VB.NET中,推荐的方式是使用XML字面量和相关的属性/方法。

例如:

代码语言:javascript
复制
Dim x = XElement.Parse("<some valid xml string>")
Console.WriteLine(x.<someNode>.<someChild>.value)

将写出根目录下someNode下的someChild节点的值。我不确定C#是否具有相同的结构,即能够像这样直接查询节点/属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3620713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档