cómo agregar espacios de nombres XML
-
06-09-2019 - |
Pregunta
Esta alimentación (snippit de ella) tiene que mirar exactamente como esta:
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
lo agrego a este código C # para añadir que xmlns adicionales, xsi chatarra:
writer.WriteStartDocument();
writer.WriteStartElement("AmazonEnvelope");
este alimento es rechazado sin ella -
No hay solución correcta
Otros consejos
Prueba esto:
writer.WriteStartElement("AmazonEnvelope");
writer.WriteAttributeString(
"xmlns", "xsi", null, "http://www.w3.org/2001/XMLSchema-instance");
writer.WriteAttributeString(
"xsi", "noNamespaceSchemaLocation", null, "amzn-envelope.xsd");
...
writer.WriteEndElement();
Es .NET 3.5 es una opción?
XNamespace ns = "http://www.w3.org/2001/XMLSchema-instance";
string s = new XElement("AmazonEnvelope",
new XAttribute(XNamespace.Xmlns + "xsi", ns),
new XAttribute(ns + "noNamespaceSchemaLocation", "amzn-envelope.xsd")
).ToString();
o con XmlWriter
:
const string ns = "http://www.w3.org/2001/XMLSchema-instance";
writer.WriteStartDocument();
writer.WriteStartElement("AmazonEnvelope");
writer.WriteAttributeString("xmlns", "xsi", "", ns);
writer.WriteAttributeString("xsi", "noNamespaceSchemaLocation",
ns, "mzn-envelope.xsd");
writer.WriteEndDocument();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow