读取XMl文件到字符串数组

时间:2009-02-13 14:45:11

标签: c# .net xml

我有一个XML文件,我想读取数据并将其分配给字符串数组,因此Operative将分配给1个数组,JobLocation分配给另一个

<Demo>
    <JOBOperatives>
    <Operative>
        <Clock>aaaa</Clock>
        <Name>aaaaa</Name>
        <MobileNumber>00000000010</MobileNumber>
        <OperativeTrade>3</OperativeTrade>
        <OperativeTicket>1</OperativeTicket>
    </Operative>
    </JOBOperatives>
    <JobLocation>
        <UPRN>aaa</UPRN>
        <Address1>aaaa</Address1>
        <Address2>aaaa</Address2>
        <Address3>aaaa</Address3>
        <Address4>aaa</Address4>
        <Address5>aa</Address5>
        <PostCode>JR4 4ED</PostCode>
    </JobLocation>

2 个答案:

答案 0 :(得分:1)

我认为你的意思是xml中的每个属性都是数组中自己的元素吗?

这似乎不是一个非常好的数据结构,特别是因为xml模式定义允许项以任何顺序到达;你的预期指数可能搞砸了。强类型对象似乎更合适,并且在.Net中得到很好的支持。至少你应该使用一本字典,这样才能保留密钥。

在这种情况下,每棵树中的项目数量非常少,最终可能会有很多项目,因此字典可能不是最佳选择。你可以做对象,但这只是设置它的额外代码很多,我得到的印象是xml可能来自不同的来源,并且根据来源(或某些东西)而不同结构可以定期改变,因此最初需要进行松散类型的验证。

最终你的目的地是一个数据库,所以我想在这种情况下我会给你一个使用数据集的例子:

string xml = GetXmlString(); // <Demo><JobOperatives><Operative><Clock>aaaa</Clock>...
StringReader sr = new StringReader(xml);
DataSet ds = new DataSet();
ds.ReadXml(sr);

使用它:查看数据集的.Tables集合,每个表的.TableName属性,.Columns集合和.Rows集合,以及每个列{{ 1}}和.ColumnName属性。

答案 1 :(得分:0)

XmlNode类的OuterXml属性可能对此有所帮助。