問題タブ [xpathnavigator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
633 参照

c# - XPathNodeIterator 親のみの現在の値

私はXPathが初めてです。

C# を使用して、親ノードと複数の子ノードを持つ XML ファイルを読み込もうとしています

XPathNavigator を使用して、ルート/親で Select を実行し、この値を XPathNodeIterator に割り当てます。 XPathNodeIterator ni = _xpathNavigator.Select(theTag);

次に、次へ移動します ni.Current.Value を使用する場合

親だけでなく、Child1 と Child2 の両方からテキスト値を取得します

私が取得したいのは、親のみの値です

OuterText も同様の結果を示しています。

これを機能させる方法を知っている人はいますか?

0 投票する
1 に答える
413 参照

.net - XPathNavigator.Select ("self::node()/../..[@numberOfLocationsAdded!='0']")

XPathNavigator.Select ("self::node()/../..[@numberOfLocationsAdded!='0']") を呼び出すと、「無効なトークンがあります」という例外が発生します

これは、XPathNavigator が存在するルートを超えることができないためですか? もしそうなら、このケースを処理する最善の方法についての提案はありますか?

ユーザーが反復したいノードを設定すると、select を呼び出して XPathNodeIterator を取得します。
次に、反復ごとに XPathNodeIterator.Current を呼び出します。これにより、現在のノードの XPathNavigator が提供されます。

次に、現在のノードに対する XPath 選択のために、XPathNavigator.Select() を呼び出します。

これを効率的に行う方法はありますか?または、../.. をサポートする必要がある場合、常にルート ノードから作業を行い、反復処理するノードの XPath を先頭に追加する必要がありますか?

ありがとう - デイブ

0 投票する
1 に答える
712 参照

c# - C#でデフォルト以外の名前空間でxmlpathの属性を取得する

私は xpathdocument を使用して、名前空間になるまで機能する xpath 式でいくつかの値を取得しています。

xml:

'

C# コード:

ここでは空のノードのみを取得します。

xpath式によるsandart xpath解析を使用すると

いくつかのプレフィックスが欠落しているという名前空間の問題が発生します。

0 投票する
1 に答える
1113 参照

xml - VB.NET XPathDocument.CreateNavigator が「debuggerDisplayProxy」エラーをスローする

私はこれが初めてで、チュートリアルから作業しています。次のコードのバリエーションがあります。

ただし、「CreateNavigator」は次を返します。「debuggerDisplayProxy」はタイプであり、式として使用できません。

私はグーグルで検索しましたが、何も見つかりませんでした(ただし、何を探すべきかはよくわかりません)。これは基本的なことのように思えますが、うまくいくとわかっている他の多くのことを続けるのを妨げています!

0 投票する
2 に答える
4410 参照

c# - 両方の子ノードが存在する必要がある場合、XPathを使用してXMLファイルから子ノードを抽出するにはどうすればよいですか?

xmlドキュメントから特定の値を抽出しようとしています。以下の例では、「c」ノードと「d」ノードに格納されている値をリストに格納しますが、「b」ノードに「c」と「d」の両方が含まれている場合のみです。これまでのコードはすべての「b」ノードをループしますが、whileループに何を入れるか、またはこれが最善のアプローチであるかどうかはわかりません。

データベースからロードされた「SampleXml」は次のとおりです。

助けていただければ幸いです。

0 投票する
1 に答える
222 参照

xml - XML文字列-特定のノードのみを選択します

ここで調べてみましたが、適切な答えが見つかりませんでした。たくさんのノードを持つXML文字列があります。
この文字列からいくつかのノードのみを抽出し、新しいルート要素を追加して返します。

これをXMLDocumentにロードし、ノードを選択することで、これを行う方法を知っています。XpathNavigatorまたはXmlReaderを使用してこれを行うためのより良い方法はありますか?

これは私の文字列です

出力文字列を

効率的な方法で行う必要があります。

0 投票する
2 に答える
11920 参照

c# - 正確なパスがわかっている場合、c# を使用して XML 要素を見つけるにはどうすればよいですか?

xml ドキュメントから情報を取得するにはどうすればよいですか? c:\temp\data.xml に xml ドキュメントがあり、Visual Studio を使用しています。

私が把握できる最も近いものは次のとおりです。

XML ドキュメントは次のようになります。

私がやりたいのは、2012-08-09 21:53:00 +0000 の日付を取得することだけです...何か提案はありますか?

0 投票する
1 に答える
787 参照

c# - 間にゼロ個以上のノードがある特定のノードの下のノードを選択するための XPath

私のXmlは次のようになります

p>

name="Iam" の <parent> の下にある name="wii" のすべての <toy> ノードを選択する必要があります。<toy> は <parent> の直接の子または <parent> の孫 (<child> の下) であることに注意してください。

<child>node は 0 以上のカーディナリティを持つことができます。

この xpath /parent[@name='Iam']/*/toy[@name='wii']を XPathNavigator で使用してみました。

失敗するので明らかに間違っています。

<parent> と <toy> の間のカーディナリティが 0 以上のすべてのノードを選択するには、xpath が必要です。

XML の形式を変更できません。

0 投票する
4 に答える
302 参照

xml - XPath - ツリーに「リーフ」ノードのタイプが 1 つしかないかどうかを判断する

XML リスト要素に特定のタイプのノードしかないことを確認する XPath 式が必要です。例:

リストに画像しかないかどうかを知る必要があります。

上記の XML は TRUE です

上記の XML は FALSE です

0 投票する
0 に答える
241 参照

xpathnavigator - c# XPath Navigator の Select ステートメントがトークンの解釈の誤りにより失敗する

http:// アドレスが Q91_1 にロードされているときに「Qx_x」のいずれかに関連付けられた値を返そうとすると、ナビゲーターは「ProjectId」の「Id」を有効なトークンとして解釈するため失敗します。 "f id=" のみをピックアップします。Navigator が正しく機能しないようにするために作成された式を変更する方法はありますか?

上記の StringReader で参照されている「SurveyResponses」のデータを以下に示します。

DataResponse XML 構造は次のようになります (開始と終了の矢印は削除され、ここに入力できるようになります フィールド f id="Q21_1">30121 /f f id="Q91_1">http://xxx.yyy.net/run.aspx?GroupId=188&ProjectId= 1096&RecordId=634 /f f id="Q48_3">22101 /f /フィールド

URL を含む文字列が XML に含まれていない限り、コードは正常に機能します。