[英]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.