SORU
2 EKİM 2009, Cuma


XDocument XmlDocument dönüştürme ve tersi

Çok basit bir sorun. XDocument bir XML dosyası oluşturmak için kullanın. Ben sonra XmlDocument sınıfı olarak iade etmek istiyorum. XDocument ve geri daha fazla düğüm eklemek için dönüştürmek için ihtiyacım olan XmlDocument bir değişken var.

Ne olen verimliXDocument ve XmlDocument arasında XML dönüştürmek için yöntem? (Dosyada herhangi bir geçici depolama kullanmadan.)

CEVAP
2 EKİM 2009, Cuma


Bu xDocument yerleşik kullanabilirsiniz.() CreateReader ve dönüştürmek için bir XmlNodeReader bir ileri bir geri.

Daha kolay çalışmak için yapmak için bir Uzantısı yöntemi içine koyarak.

using System;
using System.Xml;
using System.Xml.Linq;

namespace MyTest
{
    internal class Program
    {
        private static void Main(string[] args)
        {

            var xmlDocument = new XmlDocument();
            xmlDocument.LoadXml("<Root><Child>Test</Child></Root>");

            var xDocument = xmlDocument.ToXDocument();
            var newXmlDocument = xDocument.ToXmlDocument();
            Console.ReadLine();
        }
    }

    public static class DocumentExtensions
    {
        public static XmlDocument ToXmlDocument(this XDocument xDocument)
        {
            var xmlDocument = new XmlDocument();
            using(var xmlReader = xDocument.CreateReader())
            {
                xmlDocument.Load(xmlReader);
            }
            return xmlDocument;
        }

        public static XDocument ToXDocument(this XmlDocument xmlDocument)
        {
            using (var nodeReader = new XmlNodeReader(xmlDocument))
            {
                nodeReader.MoveToContent();
                return XDocument.Load(nodeReader);
            }
        }
    }
}

Kaynaklar:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BroadCity

    BroadCity

    10 ŞUBAT 2010
  • Chanre Joubert

    Chanre Joube

    27 Temmuz 2012
  • guillaume2111's channel

    guillaume211

    19 Kasım 2006