我有一个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>
答案 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属性可能对此有所帮助。