1

次の XML を解析しようとしています。

<?xml version="1.0" encoding="utf-8"?>
<A2AAnf:MPPPPPP xsi:schemaLocation="urn:A2AAnf:xsd:$MPPPPPP.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:A2AAnf="urn:A2AAnf:xsd:$MPPPPPP">
<A2AAnf:Num>0</A2AAnf:Num>
<A2AAnf:FIT xmlns="urn:iso:std:iso:20022:xsd:003.001">
    <Hdr>
        <Inf>
            <Mtd>TEST</Mtd>
        </Inf>
    </Hdr>
</A2AAnf:FIT>

<Mtd>タグにアクセスしたい。
XMLQuire はパスが であることを示していますが/A2AAnf:MPPPPPP/A2AAnf:FIT/dft:Hdr/dft:Inf/dft:Mtd、次のコードを使用して解析しようとすると:

XmlDocument xmldocument = new XmlDocument();
var xmlNameSpaceManager = new XmlNamespaceManager(xmldocument.NameTable);
xmlNameSpaceManager.AddNamespace("A2AAnf", "urn:A2AAnf:xsd:$MPPPPPP");
   try
   {
     xmldocument.LoadXml(m_XML);
     var node = xmldocument.SelectSingleNode("/A2AAnf:MPPPPPP/A2AAnf:FIT/dft:Hdr/dft:Inf/dft:Mtd", xmlNameSpaceManager);
   }

次のエラーが表示されます。

名前空間プレフィックス 'dft' が定義されていません

また、XML で「dft」が見つからないため、「dft」プレフィックスを削除して、「dft」なしで同じ文字列を検索しようとしました。今回は、何も返されませんでした。

私は何が欠けていますか?

4

1 に答える 1