Ich versuche, XML-Dokument zu erstellen, das ein anderes XML-Element wie Kind enthält.Xml-Element in Xml
Also zuerst habe ich Objekt Foo, die einige Eigenschaften haben. Ich serialisiert es mit dieser Funktion:
private static string SerializeToString(object dataToSerialize)
{
var emptyNamepsaces = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty });
var serializer = new XmlSerializer(dataToSerialize.GetType());
var settings = new XmlWriterSettings
{
Indent = true,
OmitXmlDeclaration = true
};
using (var stream = new StringWriter())
using (var writer = XmlWriter.Create(stream, settings))
{
serializer.Serialize(writer, dataToSerialize, emptyNamepsaces);
return stream.ToString();
}
}
In einer anderen Klasse, wo ich brauche ich keinen Zugriff auf Foo Klasse müssen einige Daten mit diesem Foo String in XML-Dokument zu speichern. So habe ich ein anderes Objekt wie folgt aus:
public class Bar
{
public int SomeInt { get; set; }
public string FooString { get; set; }
}
Wenn ich diese Bar Objekt serialisiert und es wie XML-Dokument speichern. Ich bekomme so etwas für FooString-Element.
<FooString>
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"><Foo>
<Guid>2de0b223-308a-4c90-8dc7-09b48c1f42e6</Guid>
<Id>119</Id>
<Name>Some name</Name>
<Description>SomeDesc..</Description>
</Foo></string>
</FooString>
Ich verstehe, dass diese HTML-Entitäten (<
) sind da, weil seine als String gespeichert. Aber es ist möglich, es ohne diese Zeichen zu speichern? Aber ich habe es nur als String gespeichert, weil ich keinen Zugriff auf die Foo-Klasse habe. Ich weiß also nicht, welche Parameter es haben könnte. Deshalb speichere ich es wie einen String und sende es an die Bar-Klasse. Es ist möglich, es als etwas anderes zu speichern, z.B. XmlElement oder ich weiß nicht, was ... das wird auch die Struktur des Foo-Objekts in Bar serialisiert xml ?? .. Danke !!