簡體   English   中英

如何使用XmlDocument對象而不是從驅動器讀取XML文件?

[英]How to use XmlDocument object instead of reading XML file from drive?

我不知道我可以使用XSD架構來序列化收到的XML文件。 我使用xsd.exe從XSD文件生成cs類,現在我需要使用該類來獲取類屬性中的數據,但我想念一件事,我需要幫助。

這是代碼:

private void ParseDataFromXmlDocument_UsingSerializerClass(XmlDocument doc)
{
XmlSerializer ser = new XmlSerializer(typeof(ClassFromXsd));

            string filename = Path.Combine("C:\\myxmls\\test", "xmlname.xml");

            ClassFromXsdmyClass = ser.Deserialize(new FileStream(filename, FileMode.Open)) as ClassFromXsd;

            if (myClass != null)
            {
                // to do
            }
...

這里我使用來自驅動器的XML文件。 我想從我傳入的參數中使用這個XmlDocument。那么如何調整此代碼以使用doc而不是來自驅動器的XML?

您可以將XmlDocument寫入MemoryStream,然后像您已經那樣對其進行反序列化。

XmlDocument doc = new XmlDocument();
ClassFromXsd obj = null;
using (var s = new MemoryStream())
{
    doc.Save(s);
    var ser = new XmlSerializer(typeof (ClassFromXsd));
    s.Seek(0, SeekOrigin.Begin);
    obj = (ClassFromXsd)ser.Deserialize(s);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM