none
如何读取xml文件中的数据? RRS feed

答案

  • 你好

    或者你可以參考以下URL

    将 XML 数据读取到数据集

    http://msdn.microsoft.com/zh-cn/library/ekw4dh3f(v=VS.100).aspx

    Please correct me if my concept is wrong


    Chi
    2011年6月2日 7:28
    版主
  • 方法很多,除了ChiYau的方法之外,我还可以用LINQ——

    【假设你的xml如下】

     

    <Authors_Table>
     <authors>
     <au_id>172-32-1176</au_id>
     <au_lname>White</au_lname>
     <au_fname>Johnson</au_fname>
     <phone>408 496-7223</phone>
     <address>10932 Bigge Rd.</address>
     <city>Menlo Park</city>
     <state>CA</state>
     <zip>94025</zip>
     <contract>true</contract>
     </authors>
     <authors>
     <au_id>213-46-8915</au_id>
     <au_lname>Green</au_lname>
     <au_fname>Margie</au_fname>
     <phone>415 986-7020</phone>
     <address>309 63rd St. #411</address>
     <city>Oakland</city>
     <state>CA</state>
     <zip>94618</zip>
     <contract>true</contract>
     </authors>
     <authors>
     <au_id>238-95-7766</au_id>
     <au_lname>Carson</au_lname>
     <au_fname>Cheryl</au_fname>
     <phone>415 548-7723</phone>
     <address>589 Darwin Ln.</address>
     <city>Berkeley</city>
     <state>CA</state>
     <zip>94705</zip>
     <contract>true</contract>
     </authors>
     <authors>
     <au_id>267-41-2394</au_id>
     <au_lname>Hunter</au_lname>
     <au_fname>Anne</au_fname>
     <phone>408 286-2428</phone>
     <address>22 Cleveland Av. #14</address>
     <city>San Jose</city>
     <state>CA</state>
     <zip>95128</zip>
     <contract>true</contract>
     </authors>
     <authors>
     <au_id>274-80-9391</au_id>
     <au_lname>Straight</au_lname>
     <au_fname>Dean</au_fname>
     <phone>415 834-2919</phone>
     <address>5420 College Av.</address>
     <city>Oakland</city>
     <state>CA</state>
     <zip>94609</zip>
     <contract>true</contract>
     </authors>
    </Authors_Table>
    那么——
    var result = from e in XDocument.Load("xxx.xml").Descedants("authors")
     select new
     {
      au_id = e.Element("au_id").Value,
      au_lname = e.Element("au_lname").Value,
      //…………………… 写成“匿名属性”=e.Element("authors下某个指定节点名称").Value
     };

    另外,关于LINQ-TO-XML可以参考:

    1)http://www.cnblogs.com/luckdv/articles/1728088.html?login=1

    2)http://msdn.microsoft.com/zh-cn/library/bb387098.aspx


    如果你有其它意见或私下交流,请发送邮件到:maledong@qq.com;或者请QQ我
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处


    2011年6月3日 3:18
    版主

全部回复

  • 你好

    或者你可以參考以下URL

    将 XML 数据读取到数据集

    http://msdn.microsoft.com/zh-cn/library/ekw4dh3f(v=VS.100).aspx

    Please correct me if my concept is wrong


    Chi
    2011年6月2日 7:28
    版主
  • 方法很多,除了ChiYau的方法之外,我还可以用LINQ——

    【假设你的xml如下】

     

    <Authors_Table>
     <authors>
     <au_id>172-32-1176</au_id>
     <au_lname>White</au_lname>
     <au_fname>Johnson</au_fname>
     <phone>408 496-7223</phone>
     <address>10932 Bigge Rd.</address>
     <city>Menlo Park</city>
     <state>CA</state>
     <zip>94025</zip>
     <contract>true</contract>
     </authors>
     <authors>
     <au_id>213-46-8915</au_id>
     <au_lname>Green</au_lname>
     <au_fname>Margie</au_fname>
     <phone>415 986-7020</phone>
     <address>309 63rd St. #411</address>
     <city>Oakland</city>
     <state>CA</state>
     <zip>94618</zip>
     <contract>true</contract>
     </authors>
     <authors>
     <au_id>238-95-7766</au_id>
     <au_lname>Carson</au_lname>
     <au_fname>Cheryl</au_fname>
     <phone>415 548-7723</phone>
     <address>589 Darwin Ln.</address>
     <city>Berkeley</city>
     <state>CA</state>
     <zip>94705</zip>
     <contract>true</contract>
     </authors>
     <authors>
     <au_id>267-41-2394</au_id>
     <au_lname>Hunter</au_lname>
     <au_fname>Anne</au_fname>
     <phone>408 286-2428</phone>
     <address>22 Cleveland Av. #14</address>
     <city>San Jose</city>
     <state>CA</state>
     <zip>95128</zip>
     <contract>true</contract>
     </authors>
     <authors>
     <au_id>274-80-9391</au_id>
     <au_lname>Straight</au_lname>
     <au_fname>Dean</au_fname>
     <phone>415 834-2919</phone>
     <address>5420 College Av.</address>
     <city>Oakland</city>
     <state>CA</state>
     <zip>94609</zip>
     <contract>true</contract>
     </authors>
    </Authors_Table>
    那么——
    var result = from e in XDocument.Load("xxx.xml").Descedants("authors")
     select new
     {
      au_id = e.Element("au_id").Value,
      au_lname = e.Element("au_lname").Value,
      //…………………… 写成“匿名属性”=e.Element("authors下某个指定节点名称").Value
     };

    另外,关于LINQ-TO-XML可以参考:

    1)http://www.cnblogs.com/luckdv/articles/1728088.html?login=1

    2)http://msdn.microsoft.com/zh-cn/library/bb387098.aspx


    如果你有其它意见或私下交流,请发送邮件到:maledong@qq.com;或者请QQ我
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处


    2011年6月3日 3:18
    版主