如何读取具有特定标记的xml文档并转换为数据集 [英] How to read a xml document with specific tags and convert to dataset

查看:94
本文介绍了如何读取具有特定标记的xml文档并转换为数据集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有要求,我必须从XML读取特定标签并将其转换为数据集。我写了一段代码,但忽略了一些我想要考虑的标签。



(有些标签有属性而有些不用)



Eq:我需要< row>用< c99>标记和< c100>从xml以下的标签可以忽略所有标签。(需要数据集)



注意:我的代码忽略了< c99>和< c100> whis是我的要求



I have requirement whereby I have to read specific tags from XML and convert it to dataset. I have written a code but its ignoring some tags which i want to consider.

(some tags have attribute while some dont)

Eq: I need <row> tag with <c99> and <c100> tags from below xml rest all tags can be ignored.(Need dataset)

Note:my code is ignoring <c99> and <c100> whis is my requirement

<row id="0110398750012">
<c1>10398235475</c1>
<c2>1050</c2>
<c99 m="2">LEGACY</c99>
<c99 m="3">T24.IBAN</c99>
<c99 m="4">PREV.IBAN</c99>
<c100 />
<c100 m="2">100119406</c100>
<c100 m="3">asdsafsaf</c100>
<c100 m="4">afafsafaff</c100>
<c108>NO</c108>
<c141>NO</c141>
<c167>20160205</c167>
<c203>2</c203>
<c204>afffghhjjjgfj</c204>
<c205>sdfdfsdfdsfds</c205>
<c206>ssdfdfdf.READ.sdff</c206>
<c207>sdfdfdfdsf</c207>
<c208>1</c208>
</row>





我的尝试:





What I have tried:

XDocument xdoc = XDocument.Load(sourcexml); // or XDocument.Parse(string)

                xdoc.Root.Descendants().Where(e => e.Name != "c1" && e.Name != "c2" && e.Name != "c27" && e.Name != "c122"
                    && e.Name != "c8" && e.Name != "c78" && e.Name != "c90" && e.Name != "c7" && e.Name != "c100"
                    && e.Name != "c202" && e.Name != "c13").Remove();


                reader = new XmlNodeReader(XMLutility.ToXmlDocument(xdoc));

                DataSet ds = new DataSet();
                ds.ReadXml(reader);

推荐答案

你试过Html Agility Pack更容易使用



Html Agility Pack - 主页 [ ^ ]



c# - HtmlAgilityPack可以处理xsl附带的xml文件文件来呈现HTML? - 堆栈溢出 [ ^ ]
Have you try Html Agility Pack is more easy to use

Html Agility Pack - Home[^]

c# - Can HtmlAgilityPack handle an xml file that comes with an xsl file to render html? - Stack Overflow[^]


这篇关于如何读取具有特定标记的xml文档并转换为数据集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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