首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将xml数据转换为dataset

如何将xml数据转换为dataset
EN

Stack Overflow用户
提问于 2010-06-25 13:12:01
回答 2查看 20.7K关注 0票数 3

如何将以下xml数据转换为vb.net中的dataset?

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<userinfolist>    
    <UserInfo>        
        <LastName>Thukalil</LastName>        
        <FirstName>Thariq</FirstName>        
        <Email>test1@test.com</Email>        
        <Courses>            
            <Course>                
                <CourseNumber>av51198</CourseNumber>                
                <CourseTitle>silverlight test course</CourseTitle>                
                <Format>On Demand</Format>                
                <CompletionDate>2009-04-20T10:46:12-05:00</CompletionDate>   
                    <Credits>                    
                        <CreditInfo>                        
                            <State>Missouri</State>                        
                            <CreditType>General Credits</CreditType>                        
                            <CreditAmount>1.6</CreditAmount>                        
                            <CreditDetail>Self-Study</CreditDetail>
                        </CreditInfo>                    
                        <CreditInfo>                        
                            <State>New York</State>                        
                            <CreditType>General Credits</CreditType>                        
                            <CreditAmount>1.5</CreditAmount>                        
                            <CreditDetail>Participatory Online</CreditDetail>                    
                        </CreditInfo>                    
                        <CreditInfo>                       
                            <State>Alaska</State>                        
                            <CreditType>General Credits</CreditType>                        
                            <CreditAmount>1.25</CreditAmount>                        
                            <CreditDetail>Online</CreditDetail>                    
                        </CreditInfo>                
                    </Credits>            
            </Course>        
        </Courses>    
    </UserInfo>    
    <UserInfo>        
        <LastName>Tammana</LastName>        
        <FirstName>Pavan</FirstName>        
        <Email>test2@test.com</Email>        
        <Courses>            
            <Course>                
                <CourseNumber>av51540</CourseNumber>                
                <CourseTitle>Flex LWC 10 29 Test</CourseTitle>                
                <Format>Live</Format>                
                <CompletionDate>2009-10-29T14:31:21-05:00</CompletionDate>              
                <Credits>                    
                    <CreditInfo>                        
                        <State>Alabama</State>                        
                        <CreditType>General Credits</CreditType>                        
                        <CreditAmount>1.0</CreditAmount>                        
                        <CreditDetail>Live Event</CreditDetail>                    
                    </CreditInfo>               
                </Credits>       
            </Course>      
        </Courses>   
    </UserInfo>
</userinfolist>

请帮帮忙。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-25 14:25:00

以下代码可用于将XML存储到dataset中:

代码语言:javascript
运行
复制
// Function to convert passed XML data to dataset
  public DataSet ConvertXMLToDataSet(string xmlData)
  {
   StringReader stream = null;
   XmlTextReader reader = null;
   try
   {
    DataSet xmlDS = new DataSet() ;
    stream = new StringReader(xmlData);
    // Load the XmlTextReader from the stream
    reader = new XmlTextReader(stream);
    xmlDS.ReadXml(reader);
    return xmlDS;
   }
   catch
   {
    return null;
   }
   finally
   {
    if(reader != null) reader.Close();
   }
  }// Use this function to get XML string from a dataset

  // Function to convert passed dataset to XML data
  public string ConvertDataSetToXML(DataSet xmlDS)
  {
   MemoryStream stream = null;
   XmlTextWriter writer = null;
   try
   {
    stream = new MemoryStream();
    // Load the XmlTextReader from the stream
    writer = new XmlTextWriter(stream, Encoding.Unicode);
    // Write to the file with the WriteXml method.
    xmlDS.WriteXml(writer);
    int count = (int) stream.Length;
    byte[] arr = new byte[count];
    stream.Seek(0, SeekOrigin.Begin);
    stream.Read(arr, 0, count);
    UnicodeEncoding utf = new UnicodeEncoding();
    return utf.GetString(arr).Trim();
   }
   catch
   {
    return String.Empty ;
   }
   finally
   {
    if(writer != null) writer.Close();
   }
  }

替代参考:http://support.microsoft.com/kb/311566

票数 1
EN

Stack Overflow用户

发布于 2010-06-25 13:13:52

使用Dataset.ReadXml()。这可以将任何xml字符串、xml流或xml文件转换为dataset。

http://msdn.microsoft.com/en-us/library/system.data.dataset.readxml.aspx

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3115717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档