問題タブ [selectsinglenode]

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 投票する
2 に答える
13253 参照

c# - System.Xml.XPath.XPathException: SelectSingleNode("//(artist|author)") を実行する場合、式はノードセットに評価される必要があります

なぜこれが機能しないのか、誰かが説明してくれますか?

私は実行しています

そして私は得る

しかし、これは機能し、多くのアーティストノードがある場合でも例外は発生しません

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

c# - SelectSingleNodeがnullを返すのはなぜですか?

次のような構造を含むXMLドキュメントを使用しています。

私は現在、これをファイルからXMLドキュメントに次のようにロードしています。

ただし、次のコード行を実行しようとすると、問題が発生し、この1つの特定のドキュメントでのみ問題が発生します。

'id'という名前の属性の使用に問題があるため、これがnullを返していると推測して、正しい方向に進んでいますか、それともコードに何かが欠けていますか?

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

c# - SelectSingleNode での XPath の使用: 存在する場合、XML から個々の要素を取得する

私のXMLは次のようになります:

個々のアイテムの一部は、存在する場合と存在しない場合があります。存在する場合、要素<Item>2</Item>を取得したいとします。次の XPath を試しました (C# で)。

  • XMLNode node = myXMLdoc.SelectSingleNode("/itemSet[Item='two']")--- Item twoが存在する場合、最初の要素oneのみが返されます。子として値 2 のアイテムがどこかにある場合、このクエリは itemSet の最初の要素を指すだけかもしれません。この解釈は正しいでしょうか?

だから私は試しました:

  • XMLNode node = myXMLdoc.SelectSingleNode("/itemSet[Item='two']/Item[1]")--- このクエリは、<Item>itemSet 内で value = 'two' を持つ最初の要素を返します。私は正しいですか?

これはまだ最初の要素oneのみを返します。私は何を間違っていますか?どちらの場合も、兄弟を使用して子ノードをトラバースしてtwoに到達できますが、それは私が見ているものではありません。また、two が存在しない場合、SelectSingleNode は null を返します。したがって、成功した戻りノードを取得しているという事実は、要素 2 の存在を示しているため、 boolean テストでtwoの存在を確認したい場合は、上記の XPath のいずれかで十分ですが、実際には次のように完全な要素が必要です<Item>two</Item>。私のリターンノード。

[ここでの最初の質問であり、Web プログラミングを扱うのは初めてなので、SO の過去の質問から、上記の XPath と関連する xml をその場で学びました。だから優しくして、私がばかだったり、コミュニティのルールを無視していたり​​したら教えてください。ありがとう。]

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

xml - XML ドキュメントでノードを選択すると Null が返される

XML の新機能。要素の値を更新して戻す必要がある XML ドキュメントを提供するサード パーティの Web サービスがあります。核となる問題は、以下のコードで node.RemoveAll() メソッドを呼び出すときに NullReferenceException エラーが発生することです。各要素には、提供されたときに xsi:nil 属性があるため、RemoveAll() メソッドを呼び出しています。要素の値を更新する前にそれを削除しないと、XML は Web サービスによって検証されません。

サード パーティの Web サービスによって提供される XML ドキュメントは次のとおりです。

私が見た他のソリューションでは XmlNamespaceManager を使用していましたが、機能させることができませんでした。この xml ドキュメントには、TaskData 要素に指定された名前空間と、RequestInfo 要素に別の名前空間が指定されています。名前空間ごとに XmlNamespaceManager 変数を指定しようとしましたが、同じ結果が得られました..ブレーク モードで nsmgr 変数にカーソルを合わせると、「子を評価できませんでした」と DefaultNamespace プロパティが空の文字列であることがわかります。

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

c# - C# SelectSingleNode - 再帰的に使えるか?

たとえば、XML ドキュメントがある場合

最初にノード「item」の最初の出現を見つけてから属性を更新し、次にノード「foo」の最初の出現を更新してから属性を更新したいなど、

私のコードは以下の通りです

属性の最初の検索と更新は正常に機能しますが、mySearchNode.SelectSingleNode が null を返すため、2 番目の検索と更新は失敗します。

質問 - このコードに根本的に間違っている点はありますか? SelectSingleNode が 2 番目のインスタンスで期待どおりに機能しないのはなぜですか。これに関する限り、Element 型の XmlNode で実行しています。

よろしくお願いします。

どうもありがとう、

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

escaping - バックスラッシュ SelectSingleNode Escape

Javascript には XML DOM があります。SelectSingleNode を使用して DOM 内のノードを選択しようとしています。cell.SelectSingleNode(stuff [@attrjunk = 'MATCH']) のようなもの。したがって、一致させたいのはバックスラッシュです。abc\xyz で一致させるには、MATCH を何に置き換えますか?? abc\xyz と abc\xyz を試しましたが、残念ながらどちらもうまくいかないようです...

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

selectsinglenode - IXMLDOMElementでsinglenodeを選択しますか?

IXMLDOMElementから単一ノードの選択を実行できますか?可能であれば、MSXMLを使用した例を1つ挙げてください。

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

c# - XML の解析: 要素内のコロンが原因で XPath がそれを見逃す

XML ドキュメントを読み込んで、XPath で検索しようとしています。このファイルのルート ノードは<t:Transmission xmlns:t='urn:InboundShipment'>で、ファイルの末尾は で適切に閉じられてい</t:Transmission>ます。

私の問題は、子孫軸を使用しないとツリーをたどることができないことです。言い換えると、次のことができます:SelectSingleNode("//TransactionHeader[SHIPPERSTATE='CA']")そして見返りにノードを取得します。しかし、私は同等であるべきことを行うことができません:SelectSingleNode("/Transmission/TransmissionBody/Transaction/TransactionHeader[SHIPPERSTATE='CA']")

を削除するt:と、XPath 検索を実行して/Transmissionファイル全体を取得できます。そこにあると、t:nullになります。または、試してみるSelectSingleNode("t:Transmission")と、XPath ステートメントでエラーが発生します。

通常、ルート要素に対してクエリを実行する必要はないので、検索には子孫軸を使用するだけで十分です。しかし、XML は私には有効に見えるので、これに対処する方法を知りたいです。さらに、対処方法がわからないという理由だけで、クライアントに「t:」を削除するように依頼したくありません。

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

c# - SelectSingleNodeは常にnullを返しますか?

私のXMLのこの単純な例を取り上げます。

SelectSingleNodeメソッドを使用して「エラー」ノードを選択しようとしていますが、次のコードを使用すると、常にNULLが返されますか?

私が行った調査によると、これは名前空間に関連していますが、何も機能させることができません。何かアドバイス?

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

html-agility-pack - HTMLAgilityPack ChildNodes インデックスは機能するが、名前付きノードは機能しない

HTMLAgilityPack を使用して XML API 応答を解析しています。API 呼び出しから結果アイテムを選択できます。次に、アイテムをループして、ChildNodes をテーブルに書き込みたいと思います。次のように言って ChildNodes を選択すると:

適切な itemId の結果が得られます。しかし、私がしようとすると:

「参照されたオブジェクトの値は 'Nothing' です」というメッセージが表示されます。

「itemID[1]」、「/itemId[1]」、およびさまざまな文字列を試しました。SelectSingleNode と ChildNodes.Item("itemId").innertext を試しました。機能した唯一のものは、インデックスを使用することです。

インデックスを使用する際の問題は、子要素が結果で省略され、インデックスから外れることがあることです。

私が間違っていることを知っている人はいますか?