naw*_*fal 17
这是msdn的一个实际例子,它清楚地说明了这一点.假设你在test.xml文件中有这个:
<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
</Root>
Run Code Online (Sandbox Code Playgroud)
使用XDocument,如果你这样做:
foreach (var element in XDocument.Load("test.xml").Elements())
Console.WriteLine(element);
Run Code Online (Sandbox Code Playgroud)
你得到了这个:
<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
</Root>
Run Code Online (Sandbox Code Playgroud)
要获取Child1
节点的值,您必须执行以下操作:
var child1 = XDocument.Load("test.xml").Element("Root").Element("Child1").Value;
Run Code Online (Sandbox Code Playgroud)
要么
var child1 = XDocument.Load("test.xml").Root.Element("Child1").Value;
Run Code Online (Sandbox Code Playgroud)使用XElement如果你这样做:
foreach (var element in XElement.Load("test.xml").Elements())
Console.WriteLine(element);
Run Code Online (Sandbox Code Playgroud)
你得到了这个:
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
Run Code Online (Sandbox Code Playgroud)
要获取Child1
节点的值,您将执行以下操作:
var child1 = XElement.Load("test.xml").Element("Child1").Value;
Run Code Online (Sandbox Code Playgroud)简而言之,XElement
忽略根节点而不是根节点XDocument
.粗略地XDocument.Root = XElement
,或者XDocument.Root.Elements() = XElement.Elements()
.两者都来源于XContainer
.另一个微小的差别是,XElement
农具IXmlSerializable
,我不认为重要的居多.XElement
对于您只想查询子节点的绝大多数情况都足够了.这个名字让我困惑,所以我更喜欢使用XDocument
.
归档时间: |
|
查看次数: |
18504 次 |
最近记录: |