1

ドキュメントの残りの部分とは異なる名前空間を持つ XML ドキュメントからノードを取得するのに苦労しています。

これは XML です。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nominet.org.uk/epp/xml/epp-1.0 epp-1.0.xsd">
    <response>
        <result code="1000">
            <msg>Command completed successfully</msg>
        </result>
        <resData>
            <domain:infData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd">
                <domain:name>danielormisher.co.uk</domain:name>
                <domain:roid>50798439-UK</domain:roid>
                <domain:registrant>10DBFAD79B81CCDE</domain:registrant>
            </domain:infData>
        </resData>
        <extension>
            <domain-nom-ext:infData xmlns:domain-nom-ext="http://www.nominet.org.uk/epp/xml/domain-nom-ext-1.0" xsi:schemaLocation="http://www.nominet.org.uk/epp/xml/domain-nom-ext-1.0 domain-nom-ext-1.0.xsd">
                <domain-nom-ext:reg-status>Registered until expiry date.</domain-nom-ext:reg-status>
                <domain-nom-ext:auto-bill>30</domain-nom-ext:auto-bill>
            </domain-nom-ext:infData>
        </extension>
    </response>
</epp>

上記の XML<domain:infData>で、ルート要素と名前空間を共有する要素を選択しようとすると、次のようになります。

namespaces.AddNamespace("domain", "urn:ietf:params:xml:ns:domain-1.0");
var children = doc.SelectSingleNode("/ns:epp/ns:response/ns:resData/domain:infData", namespaces);

ノードは正常に選択されています。<domain-nom-ext:infData>ただし、次のようにルートとは異なる名前空間を持つnode を選択しようとすると、次のようになります。

namespaces.AddNamespace("domain", "urn:ietf:params:xml:ns:domain-1.0");
namespaces.AddNamespace("domain-nom-ext", "http://www.nominet.org.uk/epp/xml/domain-nom-ext-1.1");
children = doc.SelectSingleNode("/ns:epp/ns:response/ns:extension/domain-nom-ext:infData", namespaces);

null 応答が返されるだけです。誰かが私が間違っていることを指摘できますか??

4

1 に答える 1

1

あなたのXMLサンプルにhttp://www.nominet.org.uk/epp/xml/domain-nom-ext-1.0は.http://www.nominet.org.uk/epp/xml/domain-nom-ext-1.11.11.0

于 2012-10-15T13:52:00.510 に答える