XDocument 类
https://docs.microsoft.com/zh-cn/dotnet/api/system.xml.linq.xdocument?view=netframework-4.8
表示 XML 文档。
下面的示例创建一个文档,然后向其中添加注释和一个元素。 然后,它使用查询结果撰写另一篇文档。
Dim srcTree As XDocument = _
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--This is a comment-->
<Root>
<Child1>data1</Child1>
<Child2>data2</Child2>
<Child3>data3</Child3>
<Child2>data4</Child2>
<Info5>info5</Info5>
<Info6>info6</Info6>
<Info7>info7</Info7>
<Info8>info8</Info8>
</Root>
Dim doc As XDocument = _
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--This is a comment-->
<Root>
<%= From el In srcTree.<Root>.Elements _
Where CStr(el).StartsWith("data") _
Select el %>
</Root>
Console.WriteLine(doc)
该示例产生下面的输出:
<!--This is a comment-->
<Root>
<Child1>data1</Child1>
<Child2>data2</Child2>
<Child3>data3</Child3>
<Child2>data4</Child2>
</Root>
XDocument替代了LINQ推出之前的XmlDocument对象。在处理XML文档时,XDocument对象更容易使用,尽管它不遵循任何国际标准。它使用这个名称空间中的其他新对象,例如XNamespace、XComment、XElement和XAttribute对象。
构造函数
XDocument() | 初始化 XDocument 类的新实例。 |
XDocument(Object[]) | 使用指定的内容初始化 XDocument 类的新实例。 |
XDocument(XDeclaration, Object[]) | 用指定的 XDocument 和内容初始化 XDeclaration 类的新实例。 |
XDocument(XDocument) |
方法
Load(Stream) | 使用指定的流创建一个新的 XDocument 实例。 |
Load(Stream, LoadOptions) | 使用指定流创建新的 XDocument 实例,也可以选择保留空白,设置基 URI 和保留行信息。 |
Load(String) | 从文件创建新 XDocument。 |
Load(String, LoadOptions) | 从文件创建新 XDocument,还可以选择保留空白和行信息以及设置基 URI。 |
Load(TextReader) | 从 XDocument 创建新的 TextReader。 |
Load(TextReader, LoadOptions) | 从 XDocument 创建新 TextReader,还可以选择保留空白和行信息以及设置基 URI。 |
Load(XmlReader) | |
Load(XmlReader, LoadOptions) | |
Save(Stream) | |
Save(Stream, SaveOptions) | |
Save(String) | 序列化此 XDocument 到文件,如果该文件存在,则覆盖现有的文件。 |
Save(String, SaveOptions) | 将此 XDocument 序列化为文件,还可以选择禁用格式设置。 |
Save(TextWriter) | 将此 XDocument 序列化为 TextWriter。 |
Save(TextWriter, SaveOptions) | 将此 XDocument 序列化为 TextWriter,还可以选择禁用格式设置。 |
Save(XmlWriter) |
Load方法示例:
Dim xdoc A$ XDocument = XDocument.Load .("C:\Hamlet.xml")
Console .WriteLine (xdoc.Root.Name .ToString ())
Console .WriteLine (xdoc ..Root .HasAttributes .ToString ())
Save方法示例:
Dim xdoc As XDocument = XDocument.Load("C:\Hamlet.xml")
xdoc.Save ( "c : \CopyOfHamlet . xml")
一个示例:
Module Module1
Sub Main()
testXdocument()
End Sub
Private Sub testXdocument()
Dim xDoc As XDocument = XDocument.Load("~\test.xml")
Console.WriteLine(xDoc.Root.Name.ToString)
Console.WriteLine(xDoc.Root.HasElements.ToString)
xDoc.Save("~\testcopy.xml")
Console.Read()
End Sub
End Module
'附:text.xml内容
'<?xml version="1.0" encoding="utf-8" ?>
'<MovieOrderDump>
' <FilmOrderList>
' <multiFilmOrders>
' <FilmOrder filmID="101">
' <name>Grease</name>
' <quantity>lO</quantity>
' </FilmOrder>
' <FilmOrder filmID="102">
’ <quantity>11</quantity>
' </FilmOrder>
' <FilmOrder filmID="l03">
' <name>Star Vlars</name>
' <quantity>l2</quantity>
' </FilmOrder>
' </multiFilmOrders>
' </FilmOrderList>
'</MovieOrderDump>