XmlDocument Namespace und schemalocation

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    XmlDocument Namespace und schemalocation

    Ich versuche schon seit Tagen einen Namespace mit schemalocation in ein XmlDocument zu schreiben zu schreiben, allerdings funktioniert das nicht.

    Ein Teil der Xml, so soll die am Ende aussehen

    XML-Quellcode

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <Beleg xmlns="http://www.mauve.eu/MauveXml/2.0/"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://www.mauve.eu/MauveXml/2.0/ http://download.mauve.eu/schema/MauveXml_2_0.xsd">
    5. </Beleg>


    Der Skript-Ausschnitt wie ich die Xml-Attribute schreibe.

    VB.NET-Quellcode

    1. Dim xmldoc As XmlDocument = New XmlDocument()
    2. Dim xmlattribute As XmlAttribute = Nothing
    3. Dim xmlnode As XmlNode = Nothing
    4. Dim xmlnoderoot As XmlNode = Nothing
    5. xmlnoderoot = xmldoc.CreateElement("Beleg")
    6. xmlattribute = xmldoc.CreateAttribute("xmlns")
    7. xmlattribute.InnerText = "http://www.mauve.eu/MauveXml/2.0/"
    8. xmlnoderoot.Attributes.Append(xmlattribute)
    9. xmlattribute = xmldoc.CreateAttribute("xmlns:xsi")
    10. xmlattribute.InnerText = "http://www.w3.org/2001/XMLSchema-instance"
    11. xmlnoderoot.Attributes.Append(xmlattribute)
    12. xmlattribute = xmldoc.CreateAttribute("xsi:schemaLocation")
    13. xmlattribute.InnerText = "http://www.mauve.eu/MauveXml/2.0/ http://download.mauve.eu/schema/MauveXml_2_0.xsd"
    14. xmlnoderoot.Attributes.Append(xmlattribute)
    15. xmldoc.AppendChild(xmlnoderoot)
    16. xmlnode = xmldoc.CreateElement("test", xmldoc.DocumentElement.NamespaceURI)
    17. xmldoc.DocumentElement.AppendChild(xmlnode)
    Hi
    das wird wohl absichtlich entfernt:

    Objektkatalog schrieb:

    Der qualifizierte Name des Attributs.Wenn der Name einen Doppelpunkt enthält, gibt die System.Xml.XmlNode.Prefix-Eigenschaft den vor dem Doppelpunkt stehenden Teil des Namens und die System.Xml.XmlDocument.LocalName-Eigenschaft den hinter dem Doppelpunkt stehenden Teil wieder.Der System.Xml.XmlNode.NamespaceURI bleibt leer, sofern das Präfix kein erkanntes integriertes Präfix, z. B. xmlns ist.In diesem Fall hat der NamespaceURI den Wert w3.org/2000/xmlns/.


    Gruß
    ~blaze~
    Und wie ist es bei Reverse Engineering?
    Wenn Du vorgibst, was rauskommen soll und dies im eingelesenen XmlDocument analysierst?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!