Tengo un XElement que necesito crear a través de xml XMLs/expresiones integradas y Lo necesito para heredar el espacio de nombres predeterminado. Esto no parece posible a pesar de todo lo que he intentado. ¿Alguien sabe cómo hacer que esto funcione?¿Por qué no XML Literals dinámicos heredan el espacio de nombre predeterminado
Por ejemplo
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
El primero, myXML
, no se crea con los ns predeterminados, pero la segunda, myXML2
, es.
He estado buscando una forma de obtener un XElement sin las ns predeterminadas, por lo que su pregunta responde cómo hacerlo. – CoderDennis
Interesante que 'Dim myXML As XElement = <<%= obj %>> sin espacio de nombres>' ni siquiera funciona, pero produce una excepción de tiempo de ejecución. Siempre he pensado que la forma en que los literales xml insertan el espacio de nombres era extraño. Todavía no he descubierto cómo controlarlo. –
CoderDennis
Sí, en algún momento también estaba buscando una forma de crearlo sin el espacio de nombres predeterminado, por lo que en realidad es una buena técnica. Me gustaría poder marcarlo como "no necesita ns por defecto" o algo así. –