Tengo una función que genera XML para un objeto de lista:XElement Añadir función añade xmlns = "" a la XElement
public XDocument ToXML()
{
foreach (var row in this)
{
var xml = row.ToXml();
template.Root.Add(xml);
}
return template;
}
El template.ToString() lee: <RootElement xmlns="urn:testTools">
El xml lee: <Example><SubElement>testData</SubElement></Example>
Después de la función de complemento ha ejecutado el template.ToString () dice lo siguiente: <RootElement xmlns="urn:testTools"><Example xmlns=""><SubElement>testData</SubElement></Example>
De modo que, por algún motivo, se agregó un espacio de nombres vacío, ¿cómo puedo evitar que lo haga?
Ok Ahora entiendo por qué hace eso, ¡gracias! Pero solo es útil si fusiona diferentes xml, con diferentes espacios de nombres, no al crear un único documento xml. Además, una etiqueta de espacio de nombres vacía no es válida xml. – JJoos
@JJoos: un espacio de nombres vacío es ciertamente válido XML. ¿Qué te hace pensar que no es así? Además, tenga en cuenta que un solo documento XML puede tener elementos y atributos de muchos espacios de nombres. –
@John Saunders tiene razón, pensó que era ilegal debido a: http://www.w3.org/TR/REC-xml-names/ Sección 2.2 primera línea. Tipo de confusión. Gracias. – JJoos