【发布时间】:2021-05-03 20:13:41
【问题描述】:
我一直在阅读How To Parse XML In .NET Core 那里他们展示了一个使用 XMLSerializer 解析 XML 的示例。
[XmlRoot("MyDocument", Namespace = "http://www.dotnetcoretutorials.com/namespace")]
public class MyDocument
{
public string MyProperty { get; set; }
public MyAttributeProperty MyAttributeProperty { get; set; }
[XmlArray]
[XmlArrayItem(ElementName = "MyListItem")]
public List MyList { get; set; }
}
public class MyAttributeProperty
{
[XmlAttribute("value")]
public int Value { get; set; }
}
并阅读它:
using (var fileStream = File.Open("test.xml", FileMode.Open))
{
XmlSerializer serializer = new XmlSerializer(typeof(MyDocument));
var myDocument = (MyDocument)serializer.Deserialize(fileStream);
Console.WriteLine($"My Property : {myDocument.MyProperty}");
Console.WriteLine($"My Attribute : {myDocument.MyAttributeProperty.Value}");
foreach(var item in myDocument.MyList)
{
Console.WriteLine(item);
}
}
在上面的代码中它读取本地的xml文件:
using (var fileStream = File.Open("test.xml", FileMode.Open)).
我想从 URL 中读取一个 XML 文件,并使用 XmlSerializer,我该如何完成呢?
【问题讨论】:
-
你好。你能检查一下吗:stackoverflow.com/questions/12240857/…也许会有用
-
还有一篇关于 StreamReader 的文章:luisquintanilla.me/2017/12/18/read-file-from-url-dotnet-core
-
一些术语:解析 XML 是将词汇 XML(带有尖括号)转换为树表示的过程。 序列化 是相反的过程,将树表示转换为带有尖括号的词法 XML。所以“使用序列化器解析”的想法没有多大意义。