我有以下XML文件:
<?xml version="1.0" encoding="utf-8"?> <root> <NB> <Company>Company 1</Company> <Rank Indicator="increasing">2</Rank> <Position Indicator="decreasing">1</Rank> </NB> <NB> <Company>Company 2</Company> <Rank Indicator="decreasing">42</Rank> <Position Indicator="increasing">6</Rank> </NB> </root>
我需要做的是创建一个输出以下列的数据集:
我试过这样的事情:
<Query> <ElementPath>root/ {}/NB</ElementPath> </Query>
但是,这不包括任何属性。我设法通过使用这样的东西得到一个属性:
<Query> <ElementPath>root/ {}/NB/Rank{@Indicator}</ElementPath> </Query>
但是,我需要排名和位置指标,我不知道在这种情况下如何提供属性列表。 任何帮助将不胜感激。感谢。
答案 0 :(得分:3)
如果我理解了您的评论,您必须创建一个没有连接字符串的数据源和一个新的数据集,并将您的XML内容作为查询字符串。
这是你应该做的:
<Query><XmlData>
<XmlData>
。<?xml version="1.0"?>
</XmlData></Query>
在您的情况下,您的代码将是这样的:
<Query>
<XmlData>
<root>
<NB>
<Company>Company 1</Company>
<Rank Indicator="increasing">2</Rank>
<Position Indicator="decreasing">1</Rank>
</NB>
<NB>
<Company>Company 2</Company>
<Rank Indicator="decreasing">42</Rank>
<Position Indicator="increasing">6</Rank>
</NB>
</root>
</XmlData>
</Query>
如果要指定参数:
</XmlData>
<ElementPath>YourField {@}</ElementPath>
</Query>
修改强>
根据您的评论,检索特定字段:
{FieldA, FieldB, FieldC}
来源: