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>