【发布时间】:2016-11-28 20:55:21
【问题描述】:
我正在尝试从提供的 xml 中提取数据并使用 XmlReader 将其添加到对象中,但我注意到在没有价值的节点上,我得到了“\n”。
示例 xml:
<Items>
<Item>
<NodeA>Some Value</NodeA>
<NodeB>N</NodeB>
<NodeC />
</Item>
<Item>
...
</Item>
</Items>
我修改的 C# 的一部分:
while (sub_reader.ReadToFollowing("Item"))
{
var item = new Item();
sub_reader.ReadToFollowing("NodeA");
sub_reader.Read();
item.NodeA = sub_reader.Value;
sub_reader.ReadToFollowing("NodeB");
sub_reader.Read();
item.NodeB = sub_reader.Value;
sub_reader.ReadToFollowing("NodeC");
sub_reader.Read();
item.NodeC = sub_reader.Value; //This return "\n "
this.Items.Add(item);
}
当<NodeC /> 发生时,是否有任何功能/方便的方式可以在上面工作但返回 null 或空字符串?真正的 xml 要大得多,我不想对它们每个都做 if else。
感谢任何建议。谢谢!
【问题讨论】:
-
似乎您已经有与您的 xml 结构相对应的类。所以使用
XmlSerializer从xml获取数据。 -
@Fabio XmlSerializer 效果很好,因为它是我得到的更简单的 XML 之一,所以为这个对象使用了这个。谢谢!