我正在使用XmlReader读取一个xml文件。我无法控制xml文件,有时xml文件会跳过如下所示的元素。如何在XmlReader的xml中为跳过的元素添加空白?
<Part xsi:type="Part1">
<Quantity>1</Quantity>
<Drawing>10</Drawing>
</Part>
<Part xsi:type="Part2">
<Quantity>1</Quantity>
</Part>
图纸和重量在第一项(第1部分)中,但不在第二项中(第2部分)。 这个XML有1300个条目(部分),并不是所有条目(部分)都具有上述所有元素。
我的XmlReader代码如下。
private void Select(string elem, ArrayList al)
{
using (XmlReader reader = new XmlTextReader(xml))
{
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
if (reader.Name == elem && reader.IsStartElement())
{
string output = reader.ReadString();
Console.WriteLine(output);
}}}}}
当元素不在xml中的条目(部分)中时,如何处理向Arraylist添加元素?
更新: 我修改的代码只是一个输出,这里是所期望的输出:
“”
我想第2部分的输出,以显示空间" "
的字符串,用于缺少绘图等元素。
你*有*到使用XmlReader? LINQ to XML将会相当简单... –
我不需要,我从来没有用过LINQ to XML,这是XmlReader的主要原因。如果允许我将跳过的元素添加到ArrayList,我会很乐意使用LINQ to XML。 – sange
我想我们都对你在这里试图完成的事感到困惑。你能告诉我们你想要的输出吗?我认为可能有更好的方法来实现你想要的。 – Nix