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
我想删除默认的xmlns像w3c等东西,并将默认的xmlns添加到根。
如何做不用q1
命名为xmlns?我的意思是,我希望它是xmlns="https://nerd.kekesed.id/xmlns/installer"
。
更新
我不希望它从外部类中声明。因为我想在很多项目中声明它,所以在课堂外宣布并不是一个干净的解决方案。
谢谢!
尝试设置'Ns.Add(“”,“https://nerd.kekesed.id/xmlns/installer”)'。 –
啊,我忘了提及我不希望它在课堂外宣布。每次我需要申报课程时,它都不会不变。 – Kekesed
你为什么在乎使用什么前缀?它不会更改文件的*信息内容*。 –