首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用readXML读取xml属性?dataset.readxml如何转换为表?

如何使用readXML读取xml属性?dataset.readxml如何转换为表?
EN

Stack Overflow用户
提问于 2009-05-24 21:57:38
回答 1查看 8.9K关注 0票数 2

我只想知道readXML生成的表是什么样子的,比如xml文件是这样的:

代码语言:javascript
复制
<item attr="some attribute">
<descirption>anything</description>
</item>

我可以通过tables集合直接引用表,如下所示:

代码语言:javascript
复制
ds.ReadXml(xml);
... ds.Tables[i]

然后,我可以使用行集合访问行和列:

代码语言:javascript
复制
ds.Tables[3].Rows[i].ItemArray(j);

但是如何访问任何xml节点的“属性”呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-05-24 22:10:50

就在这一排。我稍微修改了一下您的xml :)

代码语言:javascript
复制
var xml = "<item attr=\"some attribute\"><description>anything</description></item>";
var ds = new DataSet();

ds.ReadXml( new StringReader( xml ), XmlReadMode.Auto );

var ia = ds.Tables[0].Rows[0].ItemArray;
var att = ia[1]; // att == "some attribute"

如果您没有模式,则可能需要检查该列以确定它是什么。

Per comment:您将看到我正在让它推断模式(XmlReadMode.Auto)。它将根节点下的元素作为行,然后按顺序添加属性,然后添加元素中的值。因此,例如下面的XML ...

代码语言:javascript
复制
var xml = "<items>
             <item attr1='attr1' attr2='attr2'>
                 <description>desc1</description>
             </item>
             <item attr1='attr3' attr2='attr4'>
                 <description>desc2</description></item>
           </items>";

我将得到两行(每一项一个),列为attr1,attr2和description。您可以使用模式更改它解释XML的方式。

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

https://stackoverflow.com/questions/904748

复制
相关文章

相似问题

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