c# - 使用 .Net Core 3 解析 XML 时遇到问题
问题描述
我没有太多使用 XML 的经验,所以如果这是基本的东西,请原谅我。我有一个要反序列化为对象的提要,其中一些有效,但有些无效。这是相关 XML 的示例
<rss version ='2.0' xmlns:n='http://something.com/1.0'>
<group>
<title>Sample data</title>
<description>Sample feed description</description>
<link>https://www.sampledealership.co.uk/index.php/</link>
<item>
<n:id>xxx567</n:id>
<title>Ford Fiesta</title>
<description>A black Ford Fiesta</description>
</item>
<item>
<n:id>gg567</n:id>
<title>2019 Camero</title>
<description>A red Chevrolet Camero</description>
</item>
</group>
</rss>
这是我的课
public class rss
{
[XmlAttribute(AttributeName = "version", Namespace = "")]
public decimal version { get; set; }
[XmlElement(ElementName = "group", Namespace = "")]
public Group group { get; set; }
}
public class Group
{
[XmlElement(ElementName = "title", Namespace = "")]
public string title { get; set; }
[XmlElement(ElementName = "description", Namespace = "")]
public string description { get; set; }
[XmlElement(ElementName = "link", Namespace = "")]
public string link { get; set; }
//[XmlArray("group")]
//[XmlArrayItem("item", typeof(Item))]
[XmlElement(ElementName = "item", Namespace = "")]
private List<Item> item { get; set; }
}
public class Item
{
[XmlElement(ElementName = "id", Namespace = "http://something.com/1.0")]
public string id { get; set; }
[XmlElement(ElementName = "title", Namespace = "")]
public string title { get; set; }
[XmlElement(ElementName = "description", Namespace = "")]
public string description { get; set; }
}
这是我的测试中试图反序列化它的代码。
using (var stream = System.IO.File.OpenRead(@"Resources/carfeed.xml"))
{
var root = new XmlRootAttribute();
root.ElementName = "rss";
var serializer = new XmlSerializer(typeof(rss), root);
var car = ((rss) serializer.Deserialize(stream));
};
我得到了组中包含的所有数据,除了项目,它们是空的。我试过使用 XmlArray 注释,但仍然没有。我希望我在某个地方犯了拼写错误。无论如何,您的帮助将不胜感激。
解决方案
推荐阅读
- sql - 寻找有关我的 sql 查询的指导,该查询显然包含一个数组
- c - Xlib,如何使用C迭代地获取屏幕上的所有窗口
- excel - 在私有子中引用公共变量时遇到问题
- html - TCR官网-高清图片URL问题
- python - 如何计算将字符串分成任意大小的 N 部分的方法数量?
- apache-spark - 基于元数据的下游表的 DBT 源(不带loaded_at_field)新鲜度
- mysql - Gedmo Translatable 加载多个翻译
- scala - 我可以为 scalaVersion 2.11/2.12 创建一个 proto jar 并在不同子项目下的同一个 sbt 中使用它吗?
- python - 随机排列/洗牌,但保证改变每个元素
- android - 将捆绑包/意图传递给另一个活动?