Dies ist die XML-Datei, die ich erstellt:Umbenennung Standard Xmlns
<?xml version="1.0" encoding="utf-8"?>
<!--This document are generated by Apps. Please dont change any listed data here.-->
<q1:FilePenting xmlns:ksd="https://nerd.kekesed.id/xmlns/generic/v1" xmlns:q1="https://nerd.kekesed.id/xmlns/installer">
<q1:Perpustakaan>
<ksd:File PerluBanget="false">Ganteng</ksd:File>
<ksd:File PerluBanget="false">Ganteng2</ksd:File>
</q1:Perpustakaan>
</q1:FilePenting>
und ich möchte die q1
Dinge entfernen, ist es wirklich ärgerlich T^T
meine Klassen Ist hier:
<XmlRoot("FilePenting", Namespace:="https://nerd.kekesed.id/xmlns/installer")> _
Public Class RequiredFiles
<XmlArray("Perpustakaan"), _
XmlArrayItem("File", Namespace:="https://nerd.kekesed.id/xmlns/generic/v1")> _
Public Libs() As Berkas
<XmlNamespaceDeclarations()> _
Public xmlns As New XmlSerializerNamespaces
Sub New()
xmlns.Add("ksd", "https://nerd.kekesed.id/xmlns/generic/v1")
End Sub
End Class
Public Class Berkas
<XmlText()> _
Public NamaFile As String
<XmlAttribute("version", namespace:="https://nerd.kekesed.id/xmlns/generic/v1")> _
Public VersiFile As String
<XmlAttribute("PerluBanget")> _
Public PerluBanget As Boolean = False
Sub New()
End Sub
End Class
Und dies ist der Serializer Code:
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
Dim FileBrow As New Microsoft.Win32.SaveFileDialog
With FileBrow
.Title = "Init XML Save File"
.Filter = "XML File (*.xml)|*.xml"
.ShowDialog()
If Not .FileName Is Nothing Then
'mulai bikin objek dan save dan lain lain lain lain
Dim x As New IsiSetup.RequiredFiles()
x.Libs = {New Berkas() With {.NamaFile = "Ganteng"}, New Berkas() With {.NamaFile = "Ganteng2"}}
Dim Aturannya As New XmlWriterSettings() With {.Indent = True, .IndentChars = " ", .NewLineChars = vbNewLine}
Dim penulis As New XmlSerializer(x.GetType)
Dim Xmlnya As XmlWriter = XmlWriter.Create(.FileName, Aturannya)
Xmlnya.WriteComment("This document are generated by Apps. Please dont change any listed data here.")
Dim Ns As New XmlSerializerNamespaces()
Ns.Add("", "")
penulis.Serialize(Xmlnya, x, Ns)
'done
Xmlnya.Close()
End If
End With
End Sub
Ich wollte die Standard-xmlns wie w3c usw. entfernen und die Standard-XMLNs zum root hinzufügen.
Wie es geht, ohne zu geben q1
named xmlns? Ich meine, ich möchte es xmlns="https://nerd.kekesed.id/xmlns/installer"
sein.
aktualisieren
Ich wollte es nicht von außerhalb der Klasse deklariert werden. Da ich es bei vielen Projekten deklarieren möchte, ist die Deklaration außerhalb der Klasse keine saubere Lösung.
Vielen Dank!
Versuchen Sie 'Ns.Add (" "," https://nerd.kekesed.id/xmlns/installer ")'. –
ahh ich vergaß zu erwähnen, dass ich nicht will, dass es außerhalb der Klasse erklärt. Es wird nicht immer konstant sein, wenn ich die Klasse deklarieren muss ._. – Kekesed
Warum interessiert es dich, welches Präfix verwendet wird? Es ändert nicht den * Informationsgehalt * der Datei ein Bit. –