3

次の XML ファイルがあります。

    <?xml version="1.0" encoding="utf-8"?>
    <ルート>
          <注意>
            <会社>会社1</会社>
            <Rank Indicator="increasing">2</Rank>
            <Position Indicator="decreasing">1</Rank>
          </NB>
          <注意>
            <会社>会社2</会社>
            <Rank Indicator="decreasing">42</Rank>
            <Position Indicator="increasing">6</Rank>
          </NB>
    </ルート>

私がする必要があるのは、次の列を出力するデータセットを作成することです:

  • 会社
  • ランク指標
  • 位置インジケータ

私はこのようなことを試しました:

    <クエリ>
        <ElementPath>root/{}/NB</ElementPath>
    </クエリ>

ただし、これには属性は含まれません。次のようなものを使用して、1つの属性を取得できました。

    <クエリ>
        <ElementPath>root/{}/NB/Rank{@Indicator}</ElementPath>
    </クエリ>

ただし、ランクとポジションの両方のインジケーターが必要であり、この場合、属性のリストを提供する方法がわかりません。どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

3

あなたのコメントを理解した場合は、接続文字列のないデータ ソースと、XML コンテンツをクエリ文字列として含む新しいデータセットを作成する必要があります。

これはあなたがすべきことです:

  1. 空白の接続文字列を使用して XML データ ソースを作成します。
  2. XML データ ソースの新しいデータセットを作成します。
  3. [データセット プロパティ] ダイアログ ボックスで、[クエリ デザイナー] をクリックします。テキスト ベースのクエリ デザイナーのダイアログ ボックスが開きます。
  4. クエリ ペインで、次のように入力します。<Query><XmlData>
  5. XML ファイルをコピーし、テキストをクエリ ペインに貼り付けます<XmlData>
  6. 必ず取り除いてください<?xml version="1.0"?>
  7. クエリの最後に、次を追加します。 </XmlData></Query>
  8. [クエリの実行] (!) をクリックします。

あなたの場合、コードは次のようになります。

<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}

ソース:

http://msdn.microsoft.com/en-us/library/ms365158.aspx

http://msdn.microsoft.com/en-us/library/ms345251.aspx

于 2013-04-23T13:06:03.057 に答える