XML解析.net c#
问题描述:
我是XML新手我收到以下文件/字符串。我怎样才能在C#中分解它,这样我就可以将每个字段放入我的SQL Server数据库中?顺便说一句,我不知道如何在StackOverflow中格式化XML,如果有人能告诉我如何去做。我会做的。XML解析.net c#
<?xml version='1.0' encoding='ISO-8859-1'?>
<SystemGenerator-Document>
<TN>42</TN>
<OC>CR</OC>
<HN>738</HN>
<USERID>xxx</USERID>
<WS>FACTORY</WS>
<OBJID>254209</OBJID>
<SystemGenerator-Process>
<RNO>247989</RNO>
<RSNO>1</RSNO>
<OBJID>254209</OBJID>
<ARR>03.11.2009</ARR>
<DEP>21.11.2009</DEP>
<NOPAX>2</NOPAX>
<RT>1</RT>
<SystemGenerator-Person>
<ARR>03.11.2009</ARR>
<DEP>21.11.2009</DEP>
<PCIID>700842</PCIID>
<HASPREV>FALSE</HASPREV>
<HASSUCC>FALSE</HASSUCC>
<NOPAX>1</NOPAX>
<SF>N</SF>
<GID>535372</GID>
<SN>Torres</SN>
<CN>Xavier</CN>
<LN></LN>
<VIP></VIP>
<STREET></STREET>
<CITY></CITY>
<ZIP></ZIP>
<COUNTRY></COUNTRY>
<STATE></STATE>
<AREA></AREA>
<PHONE></PHONE>
<PHONE2></PHONE2>
<FAX></FAX>
<FAX2></FAX2>
<EMAIL></EMAIL>
<EMAIL2></EMAIL2>
<TAXID></TAXID>
<DOB></DOB>
<SEX>0</SEX>
<PASSWD></PASSWD>
<MATCHCODE></MATCHCODE>
<ADMCODEHQ></ADMCODEHQ>
<GT>GUEST</GT>
<GTD>1</GTD>
<GNR>19726</GNR>
<GMD>738</GMD>
<GDB>0</GDB>
<TT>M</TT>
<HQGID>0</HQGID>
<CREQ>0</CREQ>
<CREQSTATE>
</CREQSTATE>
<SALUTATION></SALUTATION>
<TITLE></TITLE>
<T-TITLE>
</T-TITLE>
<CARDS></CARDS>
<RN>718</RN>
<CAT></CAT>
<TG>1A</TG>
<MC>64</MC>
<SystemGenerator-Package>
<FROM>03.11.2009</FROM>
<TO>21.11.2009</TO>
<SID>AL</SID>
<RS>CLG</RS>
<SIDT>P</SIDT>
</SystemGenerator-Package>
</SystemGenerator-Person>
<SystemGenerator-Person>
<ARR>03.11.2009</ARR>
<DEP>21.11.2009</DEP>
<PCIID>700843</PCIID>
<HASPREV>FALSE</HASPREV>
<HASSUCC>FALSE</HASSUCC>
<NOPAX>1</NOPAX>
<SF>N</SF>
<SN>Torres</SN>
<CN>Xavier</CN>
<RN>718</RN>
<CAT></CAT>
<TG>1A</TG>
<MC>64</MC>
<SystemGenerator-Package>
<FROM>03.11.2009</FROM>
<TO>21.11.2009</TO>
<SID>AL</SID>
<RS>CLG</RS>
<SIDT>P</SIDT>
</SystemGenerator-Package>
</SystemGenerator-Person>
</SystemGenerator-Process>
<ORG>[email protected](3244)#4840</ORG>
</SystemGenerator-Document>
答
的XML被误格式化通过该网站,所以我就假设它是在一个字符串一些有效的XML文档。
如果是这种情况,请查看XmlDocument类,可以将字符串提供给它,类将解析它,然后可以提取值,以便可以根据需要将它们放入数据库中。
答
看XmlDocument类
此外,如果您使用的是.NET Framework 3.5或更高版本,您可以使用the XDocument class。
+1
我认为它需要更强调的smidge - 如果你可以使用XDocument和Linq到XML那么这应该几乎当然是你的默认选择... – Murph 2009-11-06 15:49:52
答
当然,xml必须是有效的。
- 如果你使用的数据集和数据表来 坚持你的数据,你可以使用 数据集this way。
- 我oppinion一个更好的办法是使用 对象,在这种情况下,你可以使用 xml serializer,直接序列化 您的XML对象。这 确实需要更多的工作才能完成 ,并且更多地搜索到 可以获得序列化属性的正确性,但是在我看来这是值得的。
XML的格式与代码相同:在两个'标记之间围绕XML内容,或选择内容并在文本编辑器上方的图标栏中用“1010”按下图标。 – Konamiman 2009-11-06 15:42:21
确切的重复http://stackoverflow.com/questions/1688024/parse-xml-string-net – 2009-11-06 15:45:42