我想阅读以下XML格式,仅需要一些属性,而不是全部.例如: [英] I want to read below XML format only some attributes are required not All. For E.g.:

查看:60
本文介绍了我想阅读以下XML格式,仅需要一些属性,而不是全部.例如:的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

<pre lang="xml"><Parts>
-   <Part>
        <Section>3003512</Section>
        <Mark>RP-103</Mark>
        <Length>4950</Length>
        - <Components>
                <Section>3003512</Section>
                <Mark>RP-103</Mark>
                <Length>4950</Length>
                <Remark>System Generated </Remark>
              <Components />
            <Remark>No Comments </Remark>
        </Part>

-   <Part>
        <Section>3003512</Section>
        <Mark>RP-103</Mark>
        <Length>4950</Length>
        <Components />
        <Remark>No Comments </Remark>
     </Part>
</Parts>



我想只读节并以表格格式标记.我正在使用下面的代码来阅读此文件,但是它正在提供错误表架构组件"已存在.



I want to Read Only Sections and Mark in Tabular Format. I am using below code to read this But it is giving Error Table Schema ''Component'' Already Exists .

DataTable dt = new DataTable();
        DataColumn dc = new DataColumn("Mark");
        DataColumn dc1 = new DataColumn("Sections ");
        dt.Columns.Add(dc);
        dt.Columns.Add(dc1);
        DataSet dSet = new DataSet();


        if (File.Exists(xmlpath2))
        {

            XmlTextReader Reader1 = new XmlTextReader(xmlpath2);



            dSet.ReadXml(Reader1, XmlReadMode.Auto);


            for (int i = 0; i < dSet.Tables[0].Rows.Count; i++)
            {
                DataRow rows = dSet.Tables[0].Rows[i];
                DataRow myRow = dt.NewRow();
                myRow["Mark"] = rows["Mark"];
                myRow["Sections "] = rows["Sections "];

                dt.Rows.Add(myRow);
            }


            GridView1.DataSource = dt;
            GridView1.DataBind();

        }

推荐答案

已经存在错误表架构组件"
此处:dSet.ReadXml(Reader1, XmlReadMode.Auto);myRow["Mark"] = rows["Mark"];?

如果是这样,则您的xml文件中有两个" mark".因此,访问形成的数据集表中的标记"字段可能是一个问题.
giving Error Table Schema ''Component'' Already Exists
Here: dSet.ReadXml(Reader1, XmlReadMode.Auto); OR myRow["Mark"] = rows["Mark"]; ?

If so, there are two ''mark'' in your xml file. Thus access to ''mark'' field in dataset table formed can be an issue.




以下代码可能对您有帮助,

Hi,

below code may be helpful to you,

string xmlstring = @"<Parts>
                                  <Part>
                                       <Section>3003512</Section>
                                       <Mark>RP-103</Mark>
                                       <Length>4950</Length>
                                        <Components>
                                               <Section>3003512</Section>
                                               <Mark>RP-103</Mark>
                                               <Length>4950</Length>
                                               <Remark>System Generated </Remark>
                                        </Components>
                                        <Remark>No Comments </Remark>
                                  </Part>

                                  <Part>
                                       <Section>3003512</Section>
                                       <Mark>RP-103</Mark>
                                       <Length>4950</Length>
                                       <Components />
                                       <Remark>No Comments </Remark>
                                   </Part>
                               </Parts>";

           XDocument xd = XDocument.Parse(xmlstring);
           var result = xd.Descendants("Part").Select(s => new {Section = s.Element("Section"), Mark = s.Element("Mark")});



还有一件事,您的xml不正确.请将您的数据与我的xmlstring变量值进行比较.您会发现您的问题.

谢谢
-Amit



One more thing, your xml is not correct. please compare your data with my xmlstring variable value. you will find out your problem.

thanks
-Amit


这篇关于我想阅读以下XML格式,仅需要一些属性,而不是全部.例如:的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆