0

C# を使用して特別な名前空間を持つ XML ドキュメントを分析する必要があり、この投稿からアイデアを得ることができます。しかし、XML 構造が非常に特殊であるため、私のコードは期待される XML ノードを取得できません...

XMLのルートノードに名前空間があります

<MDOC xmlns="urn:schemas-microsoft-com/PSS/PSS_Survey01">

このルートノードを取得するコードは次のとおりです

        XmlDocument doc = new XmlDocument();
        doc.Load(path);

        XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
        nsmgr.AddNamespace("urn", "schemas-microsoft-com/PSS/PSS_Survey01");

        XmlNode root = doc.SelectSingleNode("MDOC", nsmgr);

助けて!

4

1 に答える 1

3

XML 構造の何が特別なのかわかりません。

私はコードを少し違った方法で書きます

string xmlNamespace = String.Empty;
XmlNamespaceManager nsmgr;
XmlNodeList nodeInfo = FABRequestXML.GetElementsByTagName("RootNodeName");
xmlNamespace = Convert.ToString(nodeInfo[0].Attributes["xmlns"].Value);
nsmgr = new XmlNamespaceManager(MyXml.NameTable);
nsmgr.AddNamespace("AB", xmlNamespace);

XmlNode myNode = MyXml.DocumentElement.SelectSingleNode("AB:NodeName", nsmgr);

それが役立つことを願っています

于 2012-11-27T09:35:37.850 に答える