HOW TO:利用命名空間建立文件 (LINQ to XML) (Visual Basic)
本主題顯示如何在 Visual Basic 中建立具有命名空間 (Namespace) 的文件。
您可以利用 HOW TO:利用命名空間建立文件 (C#) (LINQ to XML) 中所描述的技術,使用 Visual Basic 來建立具有命名空間的文件。不過,使用 Visual Basic 全域命名空間宣告比較方便。
在 Visual Basic 中使用 XML 常值時,使用者可以定義一個預設的 XML 全域命名空間。這個命名空間同時為 XML 常值和 XML 屬性的預設命名空間。XML 預設命名空間可在專案層級或檔案層級定義。如果是在檔案層級定義,該命名空間會覆寫專案層級的預設命名空間。
您也可以定義其他命名空間,並為這些命名空間指定命名空間前置詞。
您可以使用 Imports 關鍵字,同時定義預設命名空間與具有前置詞的命名空間。
如需詳細資訊,請參閱Visual Basic 中的 XML 常值簡介。
請注意,XML 預設命名空間僅適用於項目,而不適用於屬性。根據預設,屬性一定會在沒有命名空間中。不過,您可以使用命名空間前置詞,將屬性放到命名空間中。
範例
此範例會建立包含命名空間的文件。
Imports <xmlns:aw="https://www.adventure-works.com">
Module Module1
Sub Main()
Dim root As XElement = _
<aw:Root>
<aw:Child aw:Att="attvalue"/>
</aw:Root>
Console.WriteLine(root)
End Sub
End Module
此範例會產生下列輸出:
<aw:Root xmlns:aw="https://www.adventure-works.com">
<aw:Child aw:Att="attvalue" />
</aw:Root>
此範例會建立包含兩個命名空間 (其中一個為預設命名空間) 的文件。
Imports <xmlns="https://www.adventure-works.com">
Imports <xmlns:fc="www.fourthcoffee.com">
Module Module1
Sub Main()
Dim root As XElement = _
<Root>
<Child Att="attvalue"/>
<fc:Child2>child2 content</fc:Child2>
</Root>
Console.WriteLine(root)
End Sub
End Module
此範例會產生下列輸出:
<Root xmlns:fc="www.fourthcoffee.com" xmlns="https://www.adventure-works.com">
<Child Att="attvalue" />
<fc:Child2>child2 content</fc:Child2>
</Root>
下列範例會建立包含多個命名空間 (兩者皆擁有命名空間前置詞) 的文件。
序列化 XML 樹狀結構時,LINQ to XML 會在必要時發出命名空間宣告,讓每個項目都位於其指定的命名空間中。
Imports <xmlns:aw="https://www.adventure-works.com">
Imports <xmlns:fc="www.fourthcoffee.com">
Module Module1
Sub Main()
Dim root As XElement = _
<aw:Root>
<fc:Child>
<aw:DifferentChild>other content</aw:DifferentChild>
</fc:Child>
<aw:Child2>c2 content</aw:Child2>
<fc:Child3>c3 content</fc:Child3>
</aw:Root>
Console.WriteLine(root)
End Sub
End Module
這個範例產生下列輸出:
<aw:Root xmlns:fc="www.fourthcoffee.com" xmlns:aw="https://www.adventure-works.com">
<fc:Child>
<aw:DifferentChild>other content</aw:DifferentChild>
</fc:Child>
<aw:Child2>c2 content</aw:Child2>
<fc:Child3>c3 content</fc:Child3>
</aw:Root>