Как сделать запрос на мыло с помощью библиотеки Volley в Android

Это зависит от сценария. XmlSerializer, безусловно, является одним из способов и имеет преимущество прямого отображения объектной модели. В .NET 3.5 XDocument и т. Д. Также очень дружелюбны. Если размер очень большой, то XmlWriter является вашим другом.

Для примера XDocument:

Console.WriteLine(
    new XElement("Foo",
        new XAttribute("Bar", "some & value"),
        new XElement("Nested", "data")));

Или то же самое с XmlDocument:

XmlDocument doc = new XmlDocument();
XmlElement el = (XmlElement)doc.AppendChild(doc.CreateElement("Foo"));
el.SetAttribute("Bar", "some & value");
el.AppendChild(doc.CreateElement("Nested")).InnerText = "data";
Console.WriteLine(doc.OuterXml);

Если вы пишете большой поток данных, то любой из подходов DOM (например, XmlDocument / XDocument и т. д.) быстро займет много памяти. Поэтому, если вы пишете XML-файл размером 100 Мб из CSV , вы можете рассмотреть XmlWriter; это более примитивный (однократный пожарный), но очень эффективный (представьте себе большой цикл здесь):

XmlWriter writer = XmlWriter.Create(Console.Out);
writer.WriteStartElement("Foo");
writer.WriteAttributeString("Bar", "Some & value");
writer.WriteElementString("Nested", "data");
writer.WriteEndElement();

Наконец, через XmlSerializer:

[Serializable]
public class Foo
{
    [XmlAttribute]
    public string Bar { get; set; }
    public string Nested { get; set; }
}
...
Foo foo = new Foo
{
    Bar = "some & value",
    Nested = "data"
};
new XmlSerializer(typeof(Foo)).Serialize(Console.Out, foo);

Это хорошая модель для сопоставления классов и т. Д .; однако, может быть, слишком сложно, если вы делаете что-то простое (или если желаемый XML на самом деле не имеет прямой корреляции с объектной моделью). Еще одна проблема с XmlSerializer заключается в том, что он не любит сериализовать неизменяемые типы: все должно иметь публичный getter и setter (если вы не сделаете все сами, выполнив IXmlSerializable, и в этом случае вы не получили многого, используя XmlSerializer).

15
задан Dayakar Reddy 27 November 2014 в 08:04
поделиться