更新
florentのおかげで、質問で間違った用語を使用していることに気付きました(元々:「名前空間が定義されていないXMLドキュメントの名前空間は何ですか?」)。
また、私は今、2つの質問をしていると思います
。1。プレフィックスのないXMLドキュメントにプレフィックスを割り当てることはできますか?(おそらくそうですが、従来のASPでこれをどのように行うのですか?)
2。プレフィックスが定義されていないXMLドキュメント内のノードのXPathロケーションパスは何ですか?これが可能であれば。
MSXML2.ServerXMLHTTP.6.0オブジェクトを使用してXMLドキュメントを取得する従来のASPコードがありますが、XMLドキュメントにプレフィックスが定義されていません。XMLドキュメントの作成方法を変更することはできません。
XMLは次のようになります。
<?xml version="1.0" standalone="yes"?>
<SearchResultsResponse xmlns="http://openapi.somesite.com/openapi-3.0.0">
[...]
</SearchResultsResponse>
ドキュメントは自動的に解析され、.responseXMLプロパティを介してアクセスできます。ただし、次のノードを検索します。
Set objData = obj_http.responseXML.selectSingleNode("//someNodeName")
Response.Write "Data: " & objData.Text
動作しません。(「オブジェクトが必要です」というエラーメッセージが表示されます。これは、ノードが見つからなかったことを意味します。)そして
Response.Write obj_http.responseXML.documentElement.prefix
空の文字列を表示します。
これを機能させる1つの方法はを使用する.selectSingleNode("//*[local-name() = 'someNodeName']")
ことですが、これは大きなXMLドキュメントではあまり効率的ではないと思います。(または私はそこで間違っていますか?)
「ns」が定義されたプレフィックスである次のようなものを読んだことがあります.selectSingleNode("//ns:rootNodeName/ns:childNodeName")
が、何も定義されていない場合、プレフィックスに何を使用する必要がありますか?