Ho un XElement che devo creare tramite espressioni letterali dinamiche xml/espressioni incorporate e Ho bisogno di ereditare lo spazio dei nomi predefinito. Questo non sembra possibile attraverso tutto ciò che ho provato. Qualcuno sa come farlo funzionare?Perché non XML letterali dinamici ereditano lo spazio dei nomi predefinito
Ad esempio
Imports <xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
Sub CreateXAML()
Dim obj = "Rectangle"
Dim objFill As String = obj & ".Fill"
Dim myXML As XElement = <<%= obj %>><<%= objFill %>>no namespace</></>
Dim myXML2 As XElement = <Path><Path.Fill>inherits namespace</Path.Fill></Path>
MsgBox(myXML.ToString & vbCrLf & myXML2.ToString)
End Sub
Il primo, myXML
, non viene creato con i ns predefiniti, ma il secondo, myXML2
, è.
Ho cercato un modo per ottenere un XElement senza il valore predefinito, quindi la tua domanda risponde come farlo! – CoderDennis
Interessante che 'Dim myXML As XElement = <<%= obj %>> nessuno spazio dei nomi >' non funziona nemmeno, ma produce un'eccezione di runtime. Ho sempre pensato che il modo in cui i letterali xml inserivano il namespace fosse strano. Non ho ancora capito come controllarlo. –
CoderDennis
Sì, un tempo stavo anche cercando un modo per crearlo senza lo spazio dei nomi predefinito, quindi in realtà è una buona tecnica. Mi piacerebbe essere in grado di contrassegnarlo come "ha bisogno di default ns" o qualcosa del genere. –