Я хочу изменить пространство имен xml с помощью xmlserializer.Я просмотрел в интернете безрезультатно.Мой результат от сериализатора:
<?xml version="1.0" encoding="utf-8"?>
<OLPData mlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Resource>
</Resource>
</OLPData>
мой сериализатор выглядит так:
XmlSerializer s = new XmlSerializer(typeof(List<Resource>), new XmlRootAttribute("OLPData"));
TextWriter t = new StreamWriter("code.xml");
List<Resource> xml = new List<Resource>() { general }s.Serialize(t, xml);
t.Close();
, поэтому у меня есть список типа Ressource, с общим источником.Я попытался добавить это:
public partial class Resource
{
[XmlAttribute(AttributeName = "noNamespaceSchemaLocation", Namespace = XmlSchema.InstanceNamespace)]
public string attr = @"C:\Program Files\Dassault Systemes\B19\intel_a\startup\Olp\XSchemas\Upload.xsd";
}
В структуре класса xml, но он явно добавляет noNamespaceSchemaLocation в ресурс вместо OLDData.
<?xml version="1.0" encoding="utf-8"?>
<OLPData mlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Resource xsi:noNamespaceSchemaLocation = "C:\Program Files\Dassault Systemes\B19\intel_a\startup\Olp\XSchemas\Upload.xsd">
</Resource>
</OLPData>
Что я хочу, этоРезультат:
<?xml version="1.0" encoding="utf-8"?>
<OLPData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Program Files\Dassault Systemes\B19\intel_a\startup\Olp\XSchemas\Upload.xsd">
<Resource>
</Resource>
</OLPDate>
Есть предложения?