Skip to main content

Create elements and attributes in a namespace

Create elements and attributes in a namespace

Public Sub XLinq86()
    Dim ns As String = "{http://myNamespace}"
    Dim result = <<%= ns + "foo" %> <%= ns + "bar" %>="attribute"/>
    Console.WriteLine(result)
End Sub

Result:
<foo p1:bar="attribute" xmlns:p1="http://myNamespace" xmlns="http://myNamespace" />


Query for elements in a namespace

Find xsd:element with name=FullAddress

Public Sub XLinq87()
   Dim doc = XDocument.Load(dataPath + "nw_customers.xsd")
   Dim XSD As XNamespace = "http://www.w3.org/2001/XMLSchema"
   Dim result = doc.Descendants(XSD + "element").Where(Function(e) e.@name = "FullAddress").First()
   Console.WriteLine(result)
    End Sub

Result:
<xsd:element name="FullAddress" sql:relation="Customers" sql:relationship="CustAdd" sql:key-fields="CustomerID" xmlns:sql="urn:schemas-microsoft-com:mapping-schema" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="Address" type="xsd:string" />
      <xsd:element name="City" type="xsd:string" />
      <xsd:element name="Region" type="xsd:string" />
      <xsd:element name="PostalCode" type="xsd:string" />
      <xsd:element name="Country" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>


Create a namespace prefix declaration

Create a namespace prefix declaration

Public Sub XLinq88()
    Dim result = <myElement xmlns:myPrefix="http://myNamespace"/>
    Console.WriteLine(result)
End Sub

Result:
<myElement xmlns:myPrefix="http://myNamespace" />


Local-name and namespace

Get the local-name and namespace of an element

Public Sub XLinq89()
    Dim e = <ns:foo xmlns:ns="http://myNamespace"/>
    Console.WriteLine("Local name of element: {0}", e.Name.LocalName)
    Console.WriteLine("Namespace of element : {0}", e.Name.NamespaceName)
End Sub

Result:
Local name of element: foo
Namespace of element : http://myNamespace