で、デフォルトの名前空間を照会するにはどうすればいくつかのXMLを持っているこれはそれだけできれいと短いですが、私が使用している実際のXMLではなく、問題を示します。MSXML
IXMLDOMNode node = doc.selectSingleNode("//PropertyGroup/@Condition");
、それが正常に動作します::
私は、ノードを照会することができますMSXMLを使用して条件= " '$(キー)' == '1111'"
しかし、それは実際に私が持っているXMLではありません
実際にはXMLには名前空間宣言が含まれています:
のxmlns = "http://schemas.microsoft.com/developer/msbuild/2003" 実際 XMLドキュメントを作成する
:
<?xml version="1.0" ?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(key)'=='1111'">
<Key>Value</Key>
</PropertyGroup>
</Project>
今私のクエリ:
IDOMNode node = doc.selectSingleNode("//PropertyGroup/@Condition");
は一致するノードを返しません。
MSXMLを使用して既定の名前空間をクエリするにはどうすればよいですか?
注:私はすでに知っているhow to query the non-default namespace in xml
。あなたが使用します。
doc.setProperty("SelectionNamespaces", "xmlns="http://schemas.microsoft.com/developer/msbuild/2003");
私はすでにhow to query the default namespace in .NETを知っています。あなたは、名前空間マネージャを使用して、クエリそれはもはやデフォルトんだから、あなたは、デフォルト以外の名前空間を照会することができ、その名前を使用して、デフォルトの名前空間に名前を付け
私だけから攻勢
xmlns
テキストを削除することができますXML文字列は、私が受け取る、私はむしろ私は「デフォルト」、またはMSXMLを使用して「無名の」名前空間を照会するにはどうすればよい
「それを正しい方法を行う」だろうか?
注:
<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<ShowPlanXML Version="1.1" Build="10.50.1600.1"
xmlns="http://schemas.microsoft.com/sqlserver/2004/07/showplan">
<BatchSequence>
<Batch>
...
</Batch>
</BatchSequence>
</ShowPlanXML>
は再びあなたが問題の名前空間宣言を見ることができます:実際にはXML、私はSQL ServerのXML 実行プラン出力を使用しています。削除は機能しますが、それは面倒です。
他に何を試しましたか? Microsoft hints at in a KB articleとして
doc.setProperty('SelectionNamespaces',
'xmlns="http://schemas.microsoft.com/developer/msbuild/2003"');
:
は、私はまた、SelectionNamespaceを設定してみました。
どうすればをデフォルトのネームスペースにするのですか?
実際には私はケア名前空間についてはありません。私の質問は理にかなっており、私はそれを働かせたい。だから、質問への別のアプローチは、次のようになります。
にはどうすればいいか、か、デフォルトの名前空間を照会することができ、そして、どんなその名前空間名ではありません(きませんか)?
注:MSXMLがネイティブコードであり、そしてあなたはそれを追加するときにネイティブのWin32コンパイラ(すなわち無.NETフレームワークやCLR)から
もう1つ更新しました。私は映画館から家に帰ってきたときに私を襲った。 – granadaCoder
@granadaCoder映画を見ながらStackOverflowに応答していました! –
ドライブの家で、私はこの事にCPUの「サイクル」をいくつか与えました。私のラジオはちょうど私の上で死んだ。 – granadaCoder