0
これは私が生成されたXMLファイルです:の名前の変更デフォルトの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>
と私はq1
物事を削除したい、それは本当に迷惑T^T
だがここに私のクラスです:
<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
これはシリアライザコードです:
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
w3cなどのようなデフォルトのxmlnsを削除し、ルートにデフォルトのxmlnsを追加したいと考えました。
q1
xmlnsという名前を付けずに行う方法?私はそれがxmlns="https://nerd.kekesed.id/xmlns/installer"
であることを意味します。
更新
私はそれは、クラスの外部から宣言することはしたくありませんでした。私は多くのプロジェクトでそれを宣言したいので、クラスから外に宣言するのはきれいな解決策ではありません。
ありがとうございました!
'Ns.Add(" "、" https://nerd.kekesed.id/xmlns/installer ")'を設定してみてください。 –
ああ、私は授業の外から宣言したくないということを忘れていました。私はクラスを宣言する必要があるたびに定数ではありません。 – Kekesed
なぜプレフィックスが使用されているのか気になりますか?ファイルの*情報内容*は1ビット変更されません。 –